Messages in this thread | | | From | Bart Van Assche <> | Subject | Re: linux-next: Tree for Aug 1 | Date | Thu, 2 Aug 2018 16:57:46 +0000 |
| |
On Fri, 2018-08-03 at 00:50 +0800, Ming Lei wrote: > On Fri, Aug 3, 2018 at 12:40 AM, Bart Van Assche <Bart.VanAssche@wdc.com> wrote: > > On Fri, 2018-08-03 at 00:27 +0800, Ming Lei wrote: > > > This issue can be fixed by reverting d250bf4e776ff09d5 ("blk-mq: only iterate over > > > inflight requests in blk_mq_tagset_busy_iter"). > > > > > > This patch looks wrong, because 'blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT' > > > isn't completely same with 'blk_mq_request_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 > > @@ -271,7 +271,7 @@ static bool bt_tags_iter(struct sbitmap *bitmap, unsigned int bitnr, void *data) > > * test and set the bit before assining ->rqs[]. > > */ > > rq = tags->rqs[bitnr]; > > - if (rq && blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT) > > + if (rq && blk_mq_rq_state(rq) != MQ_RQ_IDLE) > > iter_data->fn(rq, iter_data->data, reserved); > > > > return true; > > > > I just sent out a similar patch on list, but use blk_mq_request_started() > instead. > > https://marc.info/?l=linux-scsi&m=153322823307754&w=2
Hello Ming,
Since both patches are functionally equivalent, I'm fine with either version.
Bart.
| |