Re: linux-next: Tree for Aug 1
From: Bart Van Assche
Date: Thu Aug 02 2018 - 12:57:53 EST
On Fri, 2018-08-03 at 00:50 +-0800, Ming Lei wrote:
+AD4- On Fri, Aug 3, 2018 at 12:40 AM, Bart Van Assche +ADw-Bart.VanAssche+AEA-wdc.com+AD4- wrote:
+AD4- +AD4- On Fri, 2018-08-03 at 00:27 +-0800, Ming Lei wrote:
+AD4- +AD4- +AD4- This issue can be fixed by reverting d250bf4e776ff09d5 (+ACI-blk-mq: only iterate over
+AD4- +AD4- +AD4- inflight requests in blk+AF8-mq+AF8-tagset+AF8-busy+AF8-iter+ACI-).
+AD4- +AD4- +AD4-
+AD4- +AD4- +AD4- This patch looks wrong, because 'blk+AF8-mq+AF8-rq+AF8-state(rq) +AD0APQ- MQ+AF8-RQ+AF8-IN+AF8-FLIGHT'
+AD4- +AD4- +AD4- isn't completely same with 'blk+AF8-mq+AF8-request+AF8-started(req)'.
+AD4- +AD4-
+AD4- +AD4- Please test the following change instead of reverting the commit mentioned
+AD4- +AD4- above:
+AD4- +AD4-
+AD4- +AD4- diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
+AD4- +AD4- index 09b2ee6694fb..25a0583d8b4c 100644
+AD4- +AD4- --- a/block/blk-mq-tag.c
+AD4- +AD4- +-+-+- b/block/blk-mq-tag.c
+AD4- +AD4- +AEAAQA- -271,7 +-271,7 +AEAAQA- static bool bt+AF8-tags+AF8-iter(struct sbitmap +ACo-bitmap, unsigned int bitnr, void +ACo-data)
+AD4- +AD4- +ACo- test and set the bit before assining -+AD4-rqs+AFsAXQ-.
+AD4- +AD4- +ACo-/
+AD4- +AD4- rq +AD0- tags-+AD4-rqs+AFs-bitnr+AF0AOw-
+AD4- +AD4- - if (rq +ACYAJg- blk+AF8-mq+AF8-rq+AF8-state(rq) +AD0APQ- MQ+AF8-RQ+AF8-IN+AF8-FLIGHT)
+AD4- +AD4- +- if (rq +ACYAJg- blk+AF8-mq+AF8-rq+AF8-state(rq) +ACEAPQ- MQ+AF8-RQ+AF8-IDLE)
+AD4- +AD4- iter+AF8-data-+AD4-fn(rq, iter+AF8-data-+AD4-data, reserved)+ADs-
+AD4- +AD4-
+AD4- +AD4- return true+ADs-
+AD4- +AD4-
+AD4-
+AD4- I just sent out a similar patch on list, but use blk+AF8-mq+AF8-request+AF8-started()
+AD4- instead.
+AD4-
+AD4- https://marc.info/?l+AD0-linux-scsi+ACY-m+AD0-153322823307754+ACY-w+AD0-2
Hello Ming,
Since both patches are functionally equivalent, I'm fine with either version.
Bart.