sbitmap: remove swap_lock
authorPavel Begunkov <asml.silence@gmail.com>
Sun, 22 Nov 2020 15:35:46 +0000 (15:35 +0000)
committerJens Axboe <axboe@kernel.dk>
Tue, 8 Dec 2020 00:12:49 +0000 (17:12 -0700)
commit661d4f55a79483aee4970a76e3bd9d4cdc74ac79
tree2d239a9e27ebd6e016d4c80cca528883ad4bcc5d
parentb78beea038a3087df63bba7adaacb476a8ca95af
sbitmap: remove swap_lock

map->swap_lock protects map->cleared from concurrent modification,
however sbitmap_deferred_clear() is already atomically drains it, so
it's guaranteed to not loose bits on concurrent
sbitmap_deferred_clear().

A one threaded tag heavy test on top of nullbk showed ~1.5% t-put
increase, and 3% -> 1% cycle reduction of sbitmap_get() according to perf.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/sbitmap.h
lib/sbitmap.c