blk-mq: make sure elevator callbacks aren't called for passthrough request
In case of q->elevator, passthrough request can still be marked as RQF_ELV, so some elevator callbacks will be called for them. Fix this by splitting RQF_SCHED_TAGS, which is set for all requests that are issued on a queue that uses an I/O scheduler, and RQF_USE_SCHED for non-flush, non-passthrough requests on such a queue. Roughly based on two different patches from Ming Lei <ming.lei@redhat.com>. Signed-off-by:Christoph Hellwig <hch@lst.de> Reviewed-by:
Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20230518053101.760632-4-hch@lst.de Signed-off-by:
Jens Axboe <axboe@kernel.dk>
Showing
- block/blk-mq-debugfs.c 2 additions, 1 deletionblock/blk-mq-debugfs.c
- block/blk-mq-sched.h 3 additions, 3 deletionsblock/blk-mq-sched.h
- block/blk-mq.c 29 additions, 24 deletionsblock/blk-mq.c
- block/blk-mq.h 3 additions, 3 deletionsblock/blk-mq.h
- include/linux/blk-mq.h 7 additions, 5 deletionsinclude/linux/blk-mq.h
Loading
Please register or sign in to comment