On Fri, 2018-08-03 at 00:27 +-0800, Ming Lei wrote: +AD4- This issue can be fixed by reverting d250bf4e776ff09d5 (+ACI-blk-mq: only iterate over +AD4- inflight requests in blk+AF8-mq+AF8-tagset+AF8-busy+AF8-iter+ACI-). +AD4- +AD4- This patch looks wrong, because 'blk+AF8-mq+AF8-rq+AF8-state(rq) +AD0APQ- MQ+AF8-RQ+AF8-IN+AF8-FLIGHT' +AD4- isn't completely same with 'blk+AF8-mq+AF8-request+AF8-started(req)'. Please test the following change instead of reverting the commit mentioned above: diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 09b2ee6694fb..25a0583d8b4c 100644 --- a/block/blk-mq-tag.c +-+-+- b/block/blk-mq-tag.c +AEAAQA- -271,7 +-271,7 +AEAAQA- static bool bt+AF8-tags+AF8-iter(struct sbitmap +ACo-bitmap, unsigned int bitnr, void +ACo-data) +ACo- test and set the bit before assining -+AD4-rqs+AFsAXQ-. +ACo-/ rq +AD0- tags-+AD4-rqs+AFs-bitnr+AF0AOw- - if (rq +ACYAJg- blk+AF8-mq+AF8-rq+AF8-state(rq) +AD0APQ- MQ+AF8-RQ+AF8-IN+AF8-FLIGHT) +- if (rq +ACYAJg- blk+AF8-mq+AF8-rq+AF8-state(rq) +ACEAPQ- MQ+AF8-RQ+AF8-IDLE) iter+AF8-data-+AD4-fn(rq, iter+AF8-data-+AD4-data, reserved)+ADs- return true+ADs- Thanks, Bart.