sbitmap: Replace cmpxchg with xchg
authorPavel Begunkov <asml.silence@gmail.com>
Thu, 23 May 2019 15:39:16 +0000 (18:39 +0300)
committerJens Axboe <axboe@kernel.dk>
Mon, 1 Jul 2019 17:57:12 +0000 (11:57 -0600)
commit417232880c8a646739dbf4666a231505a1917fcb
treedb1dc62d7382a6571e0e5ace415281baa1884c43
parent79d08f89bb1b5c2c1ff90d9bb95497ab9e8aa7e0
sbitmap: Replace cmpxchg with xchg

cmpxchg() with an immediate value could be replaced with less expensive
xchg(). The same true if new value don't _depend_ on the old one.

In the second block, atomic_cmpxchg() return value isn't checked, so
after atomic_cmpxchg() ->  atomic_xchg() conversion it could be replaced
with atomic_set(). Comparison with atomic_read() in the second chunk was
left as an optimisation (if that was the initial intention).

Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
lib/sbitmap.c