]> git.ipfire.org Git - thirdparty/linux.git/commit
blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped"
authorMing Lei <ming.lei@redhat.com>
Wed, 11 Apr 2018 10:47:44 +0000 (18:47 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Apr 2018 13:59:15 +0000 (07:59 -0600)
commit2434af79c85d45d41d0c286fedf6e0556888a54c
treece996ca4b97a75ad5cc0d7e3cd37ac0a3101eaed
parent37f9579f4c31a6d698dbf3016d7bf132f9288d30
blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped"

This reverts commit 127276c6ce5a30fcc806b7fe53015f4f89b62956.

When all CPUs of one hw queue become offline, there still may have IOs
not completed from this hctx. But blk_mq_hw_queue_mapped() is called in
blk_mq_queue_tag_busy_iter(), which is used for iterating request in timeout
handler, timeout event will be missed on the inactive hctx, then request may
never be completed.

Also the replementation of blk_mq_hw_queue_mapped() doesn't match the helper's
name any more, and it should have been named as blk_mq_hw_queue_active().

Even other callers need further verification about this reimplemenation.

So revert this patch now, and we can improve hw queue activate/inactivate event
after adequent researching and test.

Cc: Stefan Haberland <sth@linux.vnet.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Christoph Hellwig <hch@lst.de>
Reported-by: Jens Axboe <axboe@kernel.dk>
Fixes: 127276c6ce5a30fcc ("blk-mq: reimplement blk_mq_hw_queue_mapped")
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.h