Hello Guys, The 1st two patches make referring to q->elevator more reliable, and avoid potential use-after-free on q->elevator in two code paths. The 3rd patch improves boot time for scsi host with lots of hw queues. V3: - clear QUEUE_FLAG_SQ_SCHED for none & kyber explicitly V2: - follow Christoph's suggestion to set QUEUE_FLAG_SQ_SCHED inside mq-deadline and bfq directly Ming Lei (3): blk-mq: protect q->elevator by ->sysfs_lock in blk_mq_elv_switch_none blk-mq: avoid to touch q->elevator without any protection blk-mq: don't clear flush_rq from tags->rqs[] block/bfq-iosched.c | 3 +++ block/blk-mq-sched.c | 1 + block/blk-mq.c | 27 ++++++++------------------- block/kyber-iosched.c | 3 ++- block/mq-deadline.c | 3 +++ include/linux/blkdev.h | 4 ++-- 6 files changed, 19 insertions(+), 22 deletions(-) -- 2.31.1