Message ID | cover.1666122465.git.asml.silence@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | enable pcpu bio caching for IRQ I/O | expand |
On Tue, Oct 18, 2022 at 08:50:54PM +0100, Pavel Begunkov wrote: > This series implements bio pcpu caching for normal / IRQ-driven I/O > extending REQ_ALLOC_CACHE currently limited to iopoll. The allocation side > still only works from non-irq context, which is the reason it's not enabled > by default, but turning it on for other users (e.g. filesystems) is > as a matter of passing a flag. > > t/io_uring with an Optane SSD setup showed +7% for batches of 32 requests > and +4.3% for batches of 8. This looks much nicer to me than the previous attempt exposing the bio internals to io_uring, thanks.
On 10/20/22 09:32, Christoph Hellwig wrote: > On Tue, Oct 18, 2022 at 08:50:54PM +0100, Pavel Begunkov wrote: >> This series implements bio pcpu caching for normal / IRQ-driven I/O >> extending REQ_ALLOC_CACHE currently limited to iopoll. The allocation side >> still only works from non-irq context, which is the reason it's not enabled >> by default, but turning it on for other users (e.g. filesystems) is >> as a matter of passing a flag. >> >> t/io_uring with an Optane SSD setup showed +7% for batches of 32 requests >> and +4.3% for batches of 8. > > This looks much nicer to me than the previous attempt exposing the bio > internals to io_uring, thanks. Yeah, I saw the one Jens posted before but I wanted this one to be more generic, i.e. applicable not only to io_uring. Thanks for taking a look.
On Tue, 18 Oct 2022 20:50:54 +0100, Pavel Begunkov wrote: > This series implements bio pcpu caching for normal / IRQ-driven I/O > extending REQ_ALLOC_CACHE currently limited to iopoll. The allocation side > still only works from non-irq context, which is the reason it's not enabled > by default, but turning it on for other users (e.g. filesystems) is > as a matter of passing a flag. > > t/io_uring with an Optane SSD setup showed +7% for batches of 32 requests > and +4.3% for batches of 8. > > [...] Applied, thanks! [1/4] bio: safeguard REQ_ALLOC_CACHE bio put commit: d4347d50407daea6237872281ece64c4bdf1ec99 Best regards,
On 10/20/22 5:40 AM, Pavel Begunkov wrote: > On 10/20/22 09:32, Christoph Hellwig wrote: >> On Tue, Oct 18, 2022 at 08:50:54PM +0100, Pavel Begunkov wrote: >>> This series implements bio pcpu caching for normal / IRQ-driven I/O >>> extending REQ_ALLOC_CACHE currently limited to iopoll. The allocation side >>> still only works from non-irq context, which is the reason it's not enabled >>> by default, but turning it on for other users (e.g. filesystems) is >>> as a matter of passing a flag. >>> >>> t/io_uring with an Optane SSD setup showed +7% for batches of 32 requests >>> and +4.3% for batches of 8. >> >> This looks much nicer to me than the previous attempt exposing the bio >> internals to io_uring, thanks. > > Yeah, I saw the one Jens posted before but I wanted this one to be more > generic, i.e. applicable not only to io_uring. Thanks for taking a look. It is indeed better like that, also because we can get rid of the alloc cache flag long term and just have it be the way that bio allocations work.