Revision 630ef623ed26c18a457cdc070cf24014e50129c2 authored by Bart Van Assche on 13 May 2021, 17:15:29 UTC, committed by Jens Axboe on 14 May 2021, 14:59:31 UTC
If a tag set is shared across request queues (e.g. SCSI LUNs) then the
block layer core keeps track of the number of active request queues in
tags->active_queues. blk_mq_tag_busy() and blk_mq_tag_idle() update that
atomic counter if the hctx flag BLK_MQ_F_TAG_QUEUE_SHARED is set. Make
sure that blk_mq_exit_queue() calls blk_mq_tag_idle() before that flag is
cleared by blk_mq_del_queue_tag_set().

Cc: Christoph Hellwig <hch@infradead.org>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Fixes: 0d2602ca30e4 ("blk-mq: improve support for shared tags maps")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20210513171529.7977-1-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 03f26d8
History
File Mode Size
kunit
checkpatch.rst -rw-r--r-- 22.0 KB
coccinelle.rst -rw-r--r-- 16.5 KB
gcov.rst -rw-r--r-- 7.9 KB
gdb-kernel-debugging.rst -rw-r--r-- 6.1 KB
index.rst -rw-r--r-- 787 bytes
kasan.rst -rw-r--r-- 18.4 KB
kcov.rst -rw-r--r-- 11.0 KB
kcsan.rst -rw-r--r-- 13.8 KB
kfence.rst -rw-r--r-- 12.8 KB
kgdb.rst -rw-r--r-- 32.5 KB
kmemleak.rst -rw-r--r-- 10.6 KB
kselftest.rst -rw-r--r-- 10.6 KB
sparse.rst -rw-r--r-- 3.6 KB
testing-overview.rst -rw-r--r-- 5.1 KB
ubsan.rst -rw-r--r-- 3.2 KB

back to top