On 01/23/2017 10:04 AM, Paolo Valente wrote: > >> Il giorno 18 gen 2017, alle ore 17:21, Jens Axboe <axboe@xxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html