sbitmap takes away some cycles for my tag-deficient test, removal of locking in sbitmap_deferred_clear() gives +~1% throuhput. [1/4] and [4/4] are simple, it'd be great if someone could double check for ordering issues for other two patches. v2: add 3rd (CAS -> atomic and) and 4th patches Pavel Begunkov (4): sbitmap: optimise sbitmap_deferred_clear() sbitmap: remove swap_lock sbitmap: replace CAS with atomic and sbitmap: simplify wrap check include/linux/sbitmap.h | 5 ----- lib/sbitmap.c | 44 +++++++++++++++++------------------------ 2 files changed, 18 insertions(+), 31 deletions(-) -- 2.24.0