[GIT PULL] bio recycling support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

Forked off for-5.15/io_uring at some point, hence layered on top of
that.

This adds bio recycling support for polled IO, allowing quick reuse of a
bio for high IOPS scenarios via a percpu bio_set list. It's good for
almost a 10% improvement in performance, bumping our per-core IO limit
from ~3.2M IOPS to ~3.5M IOPS.

Please pull!


The following changes since commit fd08e5309bba8672c1190362dff6c92bfd59218d:

  io_uring: optimise hot path of ltimeout prep (2021-08-23 13:10:37 -0600)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/io_uring-bio-cache.5-2021-08-30

for you to fetch changes up to 3d5b3fbedad65088ec079a4c4d1a2f47e11ae1e7:

  bio: improve kerneldoc documentation for bio_alloc_kiocb() (2021-08-23 13:45:40 -0600)

----------------------------------------------------------------
io_uring-bio-cache.5-2021-08-30

----------------------------------------------------------------
Christoph Hellwig (1):
      block: use the percpu bio cache in __blkdev_direct_IO

Jens Axboe (7):
      bio: optimize initialization of a bio
      fs: add kiocb alloc cache flag
      bio: add allocation cache abstraction
      block: clear BIO_PERCPU_CACHE flag if polling isn't supported
      io_uring: enable use of bio alloc cache
      block: provide bio_clear_hipri() helper
      bio: improve kerneldoc documentation for bio_alloc_kiocb()

 block/bio.c                | 169 ++++++++++++++++++++++++++++++++++++++++-----
 block/blk-core.c           |   2 +-
 block/blk-merge.c          |   2 +-
 block/blk.h                |   7 ++
 fs/block_dev.c             |   6 +-
 fs/io_uring.c              |   2 +-
 include/linux/bio.h        |  13 ++++
 include/linux/blk_types.h  |   1 +
 include/linux/cpuhotplug.h |   1 +
 include/linux/fs.h         |   2 +
 10 files changed, 184 insertions(+), 21 deletions(-)

-- 
Jens Axboe




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux