[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <36d25cd9-f4ec-0e7f-cbf0-19a71e7d781a@acm.org>
Date: Tue, 7 Sep 2021 09:49:30 -0700
From: Bart Van Assche <bvanassche@....org>
To: Niklas Cassel <Niklas.Cassel@....com>
Cc: Jens Axboe <axboe@...nel.dk>,
Damien Le Moal <Damien.LeMoal@....com>,
Paolo Valente <paolo.valente@...aro.org>,
Ming Lei <ming.lei@...hat.com>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] Revert "mq-deadline: Fix request accounting"
On 9/7/21 9:07 AM, Niklas Cassel wrote:
> On Tue, Sep 07, 2021 at 07:54:09AM -0700, Bart Van Assche wrote:
>> Please take a look at
>> https://lore.kernel.org/linux-block/18594aff-4a94-8a48-334c-f21ae32120c6@acm.org/
>> If dd_prepare_request() is removed I will have to reintroduce it.
>
> dd_prepare_request() itself is not removed, just the
> rq->elv.priv[0] = NULL; inside dd_prepare_request().
>
> If you need to modify dd_prepare_request() in a future
> commit, that should be fine, no?
>
> Without patch 1/2, e->type->ops.requeue_request() can get called
> both for requests that bypassed the I/O scheduler, and for requests
> that were inserted in the I/O scheduler.
>
> See:
> block/blk-mq-sched.h:blk_mq_sched_requeue_request()
> If the RQF_ELVPRIV flag is not set, e->type->ops.requeue_request()
> will not be called.
>
> Perhaps you are having issues with requests that were inserted
> in the scheduler, but later requeued?
>
> If so, shouldn't these fixes help you, since you do not need to
> worry about passthrough requests resulting in spurious calls to
> the I/O scheduler callbacks?
In my comment I was indeed referring to requeued requests. If a request
is requeued the scheduler insert callback function is called multiple
times. From my point of view this patch series doesn't help much since
requeued requests are not addressed.
Thanks,
Bart.
Powered by blists - more mailing lists