public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCHSET 0/3] Improve IRQ driven performance
@ 2021-12-15 16:30 Jens Axboe
  2021-12-15 16:30 ` [PATCH 1/3] block: add completion handler for fast path Jens Axboe
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jens Axboe @ 2021-12-15 16:30 UTC (permalink / raw)
  To: io-uring, linux-block

Hi,

1/2 are really just optimizations, but were done with the support for
using cached bio allocations with IRQ driven IO. The bio recycling is an
even bigger win on IRQ driven IO than it was on polling, around a 13%
improvement for me.

A caller that is prepared to get a bio passed back at completion time may
set IOCB_BIO_PASSBACK in the iocb, and then the completion side may notice
this and assign iocb->private and set IOCB_PRIV_IS_BIO and have
->ki_complete() handle the freeing. This works for io_uring as IRQ
completions are processed in task context.

-- 
Jens Axboe



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

end of thread, other threads:[~2021-12-16 15:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-15 16:30 [PATCHSET 0/3] Improve IRQ driven performance Jens Axboe
2021-12-15 16:30 ` [PATCH 1/3] block: add completion handler for fast path Jens Axboe
2021-12-16  9:10   ` Christoph Hellwig
2021-12-15 16:30 ` [PATCH 2/3] block: use singly linked list for bio cache Jens Axboe
2021-12-16  9:11   ` Christoph Hellwig
2021-12-15 16:30 ` [PATCH 3/3] block: enable bio allocation cache for IRQ driven IO Jens Axboe
2021-12-16 14:33   ` Christoph Hellwig
2021-12-16 15:41     ` Jens Axboe

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