public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
* bio allocation cleanups
@ 2026-03-16 16:11 Christoph Hellwig
  2026-03-16 16:11 ` [PATCH 1/3] block: mark bvec_{alloc,free} static Christoph Hellwig
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Christoph Hellwig @ 2026-03-16 16:11 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-block

Hi all,

I recently looked into a batch bio allocator for a project I'm working on,
and notice how convoluted the bio allocator has become.

This series unwinds it so that the the fast-path slab allocation is
better separated from the mempool fallback, which reduces the code
complexity a lot, and avoids indirect calls for common cases.

Note that we could also avoid the indirect calls for the free path by
using mempool_free_bulk.  Should I give this a spin or wait for a
workload where we can actually see a difference?

Diffstat:
 block/bio.c         |  199 +++++++++++++++++++++-------------------------------
 block/blk.h         |    5 -
 include/linux/bio.h |    3 
 3 files changed, 82 insertions(+), 125 deletions(-)

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

end of thread, other threads:[~2026-03-18  1:27 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-16 16:11 bio allocation cleanups Christoph Hellwig
2026-03-16 16:11 ` [PATCH 1/3] block: mark bvec_{alloc,free} static Christoph Hellwig
2026-03-17 13:38   ` Johannes Thumshirn
2026-03-18  0:26   ` Chaitanya Kulkarni
2026-03-16 16:11 ` [PATCH 2/3] block: split bio_alloc_bioset more clearly into a fast and slowpath Christoph Hellwig
2026-03-18  0:27   ` Chaitanya Kulkarni
2026-03-16 16:11 ` [PATCH 3/3] block: remove bvec_free Christoph Hellwig
2026-03-17 13:40   ` Johannes Thumshirn
2026-03-18  0:27   ` Chaitanya Kulkarni
2026-03-18  1:21 ` bio allocation cleanups Martin K. Petersen
2026-03-18  1:27 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox