On 01/23/2017 10:04 AM, Paolo Valente wrote:
quoted
Il giorno 18 gen 2017, alle ore 17:21, Jens Axboe [off-list ref] ha scritto:
On 01/18/2017 08:14 AM, Paolo Valente wrote:
quoted
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