linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH for-next 0/2] optimise sbitmap deferred clear
@ 2020-11-21  0:01 Pavel Begunkov
  2020-11-21  0:01 ` [PATCH 1/2] sbitmap: optimise sbitmap_deferred_clear() Pavel Begunkov
  2020-11-21  0:01 ` [PATCH 2/2] sbitmap: remove swap_lock Pavel Begunkov
  0 siblings, 2 replies; 3+ messages in thread
From: Pavel Begunkov @ 2020-11-21  0:01 UTC (permalink / raw)
  To: Jens Axboe, linux-block, Omar Sandoval; +Cc: linux-kernel

In short, sbitmap_deferred_clear() lights up pretty much in my profiler,
so these optimisations gave me ~1% more t-put. All the heavy stuff is in
[2/2]. Would love someones eye to check it.

I also want to replace cmpxchg() in that function with a single
atomic and, that's slightly lighter and also transfers it from
lock-free to wait-free, that's pretty neat.
The problem is that apparently there is a non-atomic_t atomic and,
and atomic_t is unsigned int but all the bitmap do unsigned long.
Advice is welcome.

Pavel Begunkov (2):
  sbitmap: optimise sbitmap_deferred_clear()
  sbitmap: remove swap_lock

 include/linux/sbitmap.h |  5 -----
 lib/sbitmap.c           | 21 +++++++--------------
 2 files changed, 7 insertions(+), 19 deletions(-)

-- 
2.24.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-21  0:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-21  0:01 [PATCH for-next 0/2] optimise sbitmap deferred clear Pavel Begunkov
2020-11-21  0:01 ` [PATCH 1/2] sbitmap: optimise sbitmap_deferred_clear() Pavel Begunkov
2020-11-21  0:01 ` [PATCH 2/2] sbitmap: remove swap_lock Pavel Begunkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).