OSDN Git Service

blk-mq: place trace_block_getrq() in correct place
authorXiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
Tue, 23 Oct 2018 14:30:50 +0000 (22:30 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 25 Oct 2018 17:17:40 +0000 (11:17 -0600)
trace_block_getrq() is to indicate a request struct has been allocated
for queue, so put it in right place.

Reviewed-by: Jianchao Wang <jianchao.w.wang@oracle.com>
Signed-off-by: Xiaoguang Wang <xiaoguang.wang@linux.alibaba.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c

index dcf10e3..3f91c6e 100644 (file)
@@ -1850,8 +1850,6 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio)
 
        rq_qos_throttle(q, bio, NULL);
 
-       trace_block_getrq(q, bio, bio->bi_opf);
-
        rq = blk_mq_get_request(q, bio, bio->bi_opf, &data);
        if (unlikely(!rq)) {
                rq_qos_cleanup(q, bio);
@@ -1860,6 +1858,8 @@ static blk_qc_t blk_mq_make_request(struct request_queue *q, struct bio *bio)
                return BLK_QC_T_NONE;
        }
 
+       trace_block_getrq(q, bio, bio->bi_opf);
+
        rq_qos_track(q, rq, bio);
 
        cookie = request_to_qc_t(data.hctx, rq);