Skip to content

blk-mq: scheduler and hw queue initialization fixes/enhancements

Omar Sandoval linux-block 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5blk-mq-sched: refactor scheduler initializationblock/blk-mq-sched.c block/blk-mq-sched.h block/elevator.c+57 -590 replies
2/5blk-mq-sched: set up scheduler tags when bringing up new queuesblock/blk-mq-sched.c block/blk-mq-sched.h block/blk-mq.c+35 -10 replies
3/5blk-mq-sched: fix crash in switch error pathblock/blk-mq-sched.c block/blk-mq-sched.h block/blk-mq.c +3 more+67 -480 replies
4/5blk-mq: remap queues when adding/removing hardware queuesblock/blk-mq.c+10 -40 replies
5/5blk-mq-sched: provide hooks for initializing hardware queue datablock/blk-mq-sched.c block/blk-mq-sched.h include/linux/elevator.h+45 -420 replies

Reviews trailers per patch

1 of 5 patches has a Reviewed-by or Acked-by.

PatchKeith BuschJosef Bacik
SeriesT-b
1/5
2/5
3/5
4/5R-b
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/5] blk-mq: scheduler and hw queue initialization fixes/enhancements

From: Omar Sandoval <[email protected]>

Hi, Jens,

This series has some fixes and enhancements for blk-mq:

- Patch 1 is a cleanup in preparation for the rest of the series
- Patch 2 is a fix necessary for patch 4 when scheduling is enabled, making sure we bring up new hardware queues with scheduler tags
- Patch 3 makes error handling in elevator_switch() more robust, making us fall back to none like you recommended last time
- Patch 4 is the remap fix from last week
- Patch 5 is an extension of patch 2 for multiqueue schedulers that allocate per-hctx data. Nothing in-tree needs it, but Kyber will.

Let me know if you'd prefer deferring this to 4.12 or want to apply 1-4 for 4.11. These are based on block/for-next, so the latter might require a respin.

Thanks!

Omar Sandoval (5):
blk-mq-sched: refactor scheduler initialization
blk-mq-sched: set up scheduler tags when bringing up new queues
blk-mq-sched: fix crash in switch error path
blk-mq: remap queues when adding/removing hardware queues
blk-mq-sched: provide hooks for initializing hardware queue data

 block/blk-mq-sched.c     | 178 +++++++++++++++++++++++++++++------------------
 block/blk-mq-sched.h     |  13 ++--
 block/blk-mq.c           |  25 +++++--
 block/blk-sysfs.c        |   2 +-
 block/elevator.c         | 114 +++++++++++++++---------------
 include/linux/elevator.h |   4 +-
 6 files changed, 198 insertions(+), 138 deletions(-)
Signature · 1 line
2.12.2