]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit09673183384d70c4b4a31723d719ce3682fcbd7d
tree2d239a9e27ebd6e016d4c80cca528883ad4bcc5d
parenta64d086b3bddf3c5e8390e0daa9f2923170bed39
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