Skip to content

cache request_queue pointer

Pavel Begunkov linux-block lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5block: cache request queue in bdevblock/bdev.c block/genhd.c include/linux/blk_types.h +1 more+6 -20 replies
2/5block: use bdev_get_queue() in bdev.cblock/bdev.c+4 -40 replies
3/5block: use bdev_get_queue() in bio.cblock/bio.c+5 -50 replies
4/5block: use bdev_get_queue() in blk-core.cblock/blk-core.c+5 -50 replies
5/5block: convert the rest of block to bdev_get_queueblock/bio-integrity.c block/blk-cgroup.c block/blk-crypto.c +6 more+23 -230 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] cache request_queue pointer

Cache request_queue in bdev and replace two derefs in bdev->bd_disk->queue with bdev->bd_queue. Benchmarking with nullblk gave me around +1% to peak perf.

All patches are self contained and don't rely on others from the set including 1/5 and can be taken separately. And some changes go in separate patches to minimise conflicts. When we agree on the approach, I'll send the rest converting some other spots out of block.

note: based on for-5.16/block-io_uring

Pavel Begunkov (5):
block: cache request queue in bdev
block: use bdev_get_queue() in bdev.c
block: use bdev_get_queue() in bio.c
block: use bdev_get_queue() in blk-core.c
block: convert the rest of block to bdev_get_queue

 block/bdev.c              |  9 +++++----
 block/bio-integrity.c     |  2 +-
 block/bio.c               | 10 +++++-----
 block/blk-cgroup.c        | 16 ++++++++--------
 block/blk-core.c          | 10 +++++-----
 block/blk-crypto.c        |  2 +-
 block/blk-iocost.c        | 12 ++++++------
 block/blk-merge.c         |  2 +-
 block/blk-mq.c            |  2 +-
 block/blk-throttle.c      |  2 +-
 block/genhd.c             |  8 +++++---
 block/partitions/core.c   |  4 ++--
 include/linux/blk_types.h |  1 +
 include/linux/blkdev.h    |  2 +-
 14 files changed, 43 insertions(+), 39 deletions(-)
Signature · 1 line
2.33.0