Re: [PATCH 07/10] blk-mq: add optional request->alloc_time_ns

From: Tejun Heo
Date: Thu Aug 29 2019 - 11:43:43 EST


Hello,

On Thu, Aug 29, 2019 at 04:22:48PM +0800, Hillf Danton wrote:
> > static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data,
> > - unsigned int tag, unsigned int op)
> > + unsigned int tag, unsigned int op, u64 alloc_time_ns)
> > {
> > struct blk_mq_tags *tags = blk_mq_tags_from_data(data);
> > struct request *rq = tags->static_rqs[tag];
> > @@ -325,6 +325,9 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data,
> > RB_CLEAR_NODE(&rq->rb_node);
> > rq->rq_disk = NULL;
> > rq->part = NULL;
> > +#ifdef CONFIG_BLK_RQ_ALLOC_TIME
>
> Not only matches start_time, but everal hunks may collapse into one
> if checking alloc_time is lifted up.
>
> if (blk_queue_rq_alloc_time(rq->q))
> rq->alloc_time_ns = ktime_get_ns();
> else
> rq->alloc_time_ns = 0;

Can you please elaborate? Lifted up where?

Thanks.

--
tejun