Hi Jens, in context of his latest series Bart commented that it's too hard to find all spots that do a head insertation into the blk-mq dispatch queues. This series collapses various far too deep callchains, drop two of the three bools and then replaced the final once with a greppable constant. This will create some rebased work for Bart of top of the other comments he got, but I think this will allow us to sort out some of the request order issues much better while also making the code a lot more readable. Changes since v2: - rework a comment - fix a spelling mistake in a commit message - two additional patches to clean up blk_mq_add_to_requeue_list calling conventions as well Changes since v1: - add back a blk_mq_run_hw_queue in blk_insert_flush that got lost - use a __bitwise type for the insert flags - sort out header hell a bit - various typo fixes Diffstat: b/block/bfq-iosched.c | 17 +- b/block/blk-flush.c | 17 +- b/block/blk-mq-cpumap.c | 1 b/block/blk-mq-debugfs.c | 2 b/block/blk-mq-pci.c | 1 b/block/blk-mq-sched.c | 112 ----------------- b/block/blk-mq-sched.h | 7 - b/block/blk-mq-sysfs.c | 2 b/block/blk-mq-tag.c | 2 b/block/blk-mq-virtio.c | 1 b/block/blk-mq.c | 307 ++++++++++++++++++++++++++++------------------- b/block/blk-mq.h | 77 ++++++++++- b/block/blk-pm.c | 2 b/block/blk-stat.c | 1 b/block/blk-sysfs.c | 1 b/block/elevator.h | 4 b/block/kyber-iosched.c | 7 - b/block/mq-deadline.c | 13 - block/blk-mq-tag.h | 73 ----------- 19 files changed, 280 insertions(+), 367 deletions(-)