]> git.baikalelectronics.ru Git - kernel.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)
commite4b7db4ffbc070b6d318be8dca2fc94413649738
treece996ca4b97a75ad5cc0d7e3cd37ac0a3101eaed
parente0d608076667f4bf8d849faf7953a66f9c77ac4c
blk-mq: Revert "blk-mq: reimplement blk_mq_hw_queue_mapped"

This reverts commit 9ed7a15ed2b2a8407afda1152125828ae91a6fc4.

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: 9ed7a15ed2b2a8407 ("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