[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d75c44df-8eac-b324-ac11-9bb7b6190603@fb.com>
Date: Mon, 23 Jan 2017 10:42:16 -0700
From: Jens Axboe <axboe@...com>
To: Paolo Valente <paolo.valente@...aro.org>
CC: Jens Axboe <axboe@...nel.dk>, <linux-block@...r.kernel.org>,
Linux-Kernal <linux-kernel@...r.kernel.org>,
Omar Sandoval <osandov@...com>,
Linus Walleij <linus.walleij@...aro.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Mark Brown <broonie@...nel.org>
Subject: Re: [PATCHSET v4] blk-mq-scheduling framework
On 01/23/2017 10:04 AM, Paolo Valente wrote:
>
>> Il giorno 18 gen 2017, alle ore 17:21, Jens Axboe <axboe@...com> ha scritto:
>>
>> On 01/18/2017 08:14 AM, Paolo Valente wrote:
>>> according to the function blk_mq_sched_put_request, the
>>> mq.completed_request hook seems to always be invoked (if set) for a
>>> request for which the mq.put_rq_priv is invoked (if set).
>>
>> Correct, any request that came out of blk_mq_sched_get_request()
>> will always have completed called on it, regardless of whether it
>> had IO started on it or not.
>>
>
> It seems that some request, after being dispatched, happens to have no
> mq.put_rq_priv invoked on it now or then. Is it expected? If it is,
> could you point me to the path through which the end of the life of
> such a request is handled?
I'm guessing that's a flush request. I added RQF_QUEUED to check for
that, if RQF_QUEUED is set, you know it has come from your get_request
handler.
I'm assuming that is it, let me know.
--
Jens Axboe
Powered by blists - more mailing lists