2019-09-30 20:43:53

by Mike Snitzer

[permalink] [raw]
Subject: Re: [PATCH v2 1/1] blk-mq: Inline request status checkers

On Mon, Sep 30 2019 at 3:53pm -0400,
Bart Van Assche <[email protected]> wrote:

> On 9/30/19 12:43 PM, Pavel Begunkov (Silence) wrote:
> > @@ -282,7 +282,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_request_started(rq))
> > + if (rq && blk_mq_rq_state(rq) != MQ_RQ_IDLE)
> > return iter_data->fn(rq, iter_data->data, reserved);
> >
> > return true>
> > @@ -360,7 +360,7 @@ static bool blk_mq_tagset_count_completed_rqs(struct request *rq,
> > {
> > unsigned *count = data;
> >
> > - if (blk_mq_request_completed(rq))
> > + if (blk_mq_rq_state(rq) == MQ_RQ_COMPLETE)
> > (*count)++;
> > return true;
> > }
>
> Changes like the above significantly reduce readability of the code in
> the block layer core. I don't like this. I think this patch is a step
> backwards instead of a step forwards.

I agree, not helpful.