diff --git a/block/blk-mq.c b/block/blk-mq.c index 043629aba403..eda12ba36990 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -351,6 +351,7 @@ static struct request *blk_mq_rq_ctx_init(struct blk_mq_alloc_data *data, } data->hctx->queued++; + trace_android_vh_blk_rq_ctx_init(rq, tags, data, alloc_time_ns); return rq; } diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index ca02360e26a6..dcddb9ac2279 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -303,3 +303,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_regmap_update); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_dma_buf_release); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmc_check_status); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_alloc_rqs); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_blk_rq_ctx_init); diff --git a/include/trace/hooks/block.h b/include/trace/hooks/block.h index cccdf419ceb7..0d9d7db39968 100644 --- a/include/trace/hooks/block.h +++ b/include/trace/hooks/block.h @@ -12,12 +12,18 @@ struct blk_mq_tag_set; struct blk_mq_tags; +struct blk_mq_alloc_data; DECLARE_HOOK(android_vh_blk_alloc_rqs, TP_PROTO(size_t *rq_size, struct blk_mq_tag_set *set, struct blk_mq_tags *tags), TP_ARGS(rq_size, set, tags)); +DECLARE_HOOK(android_vh_blk_rq_ctx_init, + TP_PROTO(struct request *rq, struct blk_mq_tags *tags, + struct blk_mq_alloc_data *data, u64 alloc_time_ns), + TP_ARGS(rq, tags, data, alloc_time_ns)); + #endif /* _TRACE_HOOK_BLOCK_H */ /* This part must be outside protection */