[PATCH RESEND v4 0/7] blk-mq: introduce new queue attribute async_depth

Yu Kuai posted 7 patches 2 months, 3 weeks ago
Only 0 patches received!
There is a newer version of this series
Documentation/ABI/stable/sysfs-block | 34 +++++++++++++++
block/bfq-iosched.c                  | 45 ++++++++-----------
block/blk-core.c                     |  1 +
block/blk-mq-sched.h                 |  5 +++
block/blk-mq.c                       | 64 +++++++++++++++++-----------
block/blk-sysfs.c                    | 42 ++++++++++++++++++
block/elevator.c                     |  1 +
block/kyber-iosched.c                | 33 +++-----------
block/mq-deadline.c                  | 39 +++--------------
include/linux/blkdev.h               |  3 +-
10 files changed, 152 insertions(+), 115 deletions(-)
[PATCH RESEND v4 0/7] blk-mq: introduce new queue attribute async_depth
Posted by Yu Kuai 2 months, 3 weeks ago
Changes in v4:
 - add review tag for the last patch 3;
 - rebase with my new email address, patches are not changed;
Changes in v3:
 - use guard()/scope_guard() in patch 3;
 - add review tag other than patch 3;
Changes in v2:
 - keep limit_depth() method for kyber and mq-deadline in patch 3;
 - add description about sysfs api change for kyber and mq-deadline;
 - improve documentation in patch 7;
 - add review tag for patch 1;

Background and motivation:

At first, we test a performance regression from 5.10 to 6.6 in
downstream kernel(described in patch 5), the regression is related to
async_depth in mq-dealine.

While trying to fix this regression, Bart suggests add a new attribute
to request_queue, and I think this is a good idea because all elevators
have similar logical, however only mq-deadline allow user to configure
async_depth.

patch 1-3 add new queue attribute async_depth;
patch 4 convert kyber to use request_queue->async_depth;
patch 5 covnert mq-dedaline to use request_queue->async_depth, also the
performance regression will be fixed;
patch 6 convert bfq to use request_queue->async_depth;

Yu Kuai (7):
  block: convert nr_requests to unsigned int
  blk-mq-sched: unify elevators checking for async requests
  blk-mq: add a new queue sysfs attribute async_depth
  kyber: covert to use request_queue->async_depth
  mq-deadline: covert to use request_queue->async_depth
  block, bfq: convert to use request_queue->async_depth
  blk-mq: add documentation for new queue attribute async_dpeth

 Documentation/ABI/stable/sysfs-block | 34 +++++++++++++++
 block/bfq-iosched.c                  | 45 ++++++++-----------
 block/blk-core.c                     |  1 +
 block/blk-mq-sched.h                 |  5 +++
 block/blk-mq.c                       | 64 +++++++++++++++++-----------
 block/blk-sysfs.c                    | 42 ++++++++++++++++++
 block/elevator.c                     |  1 +
 block/kyber-iosched.c                | 33 +++-----------
 block/mq-deadline.c                  | 39 +++--------------
 include/linux/blkdev.h               |  3 +-
 10 files changed, 152 insertions(+), 115 deletions(-)

-- 
2.51.0
Re: [PATCH RESEND v4 0/7] blk-mq: introduce new queue attribute async_depth
Posted by Yu Kuai 2 months, 3 weeks ago
Hi,

Looks my email server doesn't add In-Reply-To and References, this set 
does not
end up in one thread.

Please ignore this, and sorry for the noise. I'll switch back to 
kernel.org email
server to send patches.

Thanks,
Kuai

在 2025/11/16 11:20, Yu Kuai 写道:
> Changes in v4:
>   - add review tag for the last patch 3;
>   - rebase with my new email address, patches are not changed;
> Changes in v3:
>   - use guard()/scope_guard() in patch 3;
>   - add review tag other than patch 3;
> Changes in v2:
>   - keep limit_depth() method for kyber and mq-deadline in patch 3;
>   - add description about sysfs api change for kyber and mq-deadline;
>   - improve documentation in patch 7;
>   - add review tag for patch 1;
>
> Background and motivation:
>
> At first, we test a performance regression from 5.10 to 6.6 in
> downstream kernel(described in patch 5), the regression is related to
> async_depth in mq-dealine.
>
> While trying to fix this regression, Bart suggests add a new attribute
> to request_queue, and I think this is a good idea because all elevators
> have similar logical, however only mq-deadline allow user to configure
> async_depth.
>
> patch 1-3 add new queue attribute async_depth;
> patch 4 convert kyber to use request_queue->async_depth;
> patch 5 covnert mq-dedaline to use request_queue->async_depth, also the
> performance regression will be fixed;
> patch 6 convert bfq to use request_queue->async_depth;
>
> Yu Kuai (7):
>    block: convert nr_requests to unsigned int
>    blk-mq-sched: unify elevators checking for async requests
>    blk-mq: add a new queue sysfs attribute async_depth
>    kyber: covert to use request_queue->async_depth
>    mq-deadline: covert to use request_queue->async_depth
>    block, bfq: convert to use request_queue->async_depth
>    blk-mq: add documentation for new queue attribute async_dpeth
>
>   Documentation/ABI/stable/sysfs-block | 34 +++++++++++++++
>   block/bfq-iosched.c                  | 45 ++++++++-----------
>   block/blk-core.c                     |  1 +
>   block/blk-mq-sched.h                 |  5 +++
>   block/blk-mq.c                       | 64 +++++++++++++++++-----------
>   block/blk-sysfs.c                    | 42 ++++++++++++++++++
>   block/elevator.c                     |  1 +
>   block/kyber-iosched.c                | 33 +++-----------
>   block/mq-deadline.c                  | 39 +++--------------
>   include/linux/blkdev.h               |  3 +-
>   10 files changed, 152 insertions(+), 115 deletions(-)
>

-- 
Thanks
Kuai