From c3a4348aaea21d2a48c76e9443665e19cd239174 Mon Sep 17 00:00:00 2001 From: Yang Yang Date: Wed, 1 Jun 2022 15:22:49 -0600 Subject: [PATCH] ANDROID: vendor_hooks: add vendor hook in blk_mq_rq_ctx_init() This vendor hook let us initialize payload of the request. Bug: 188749221 Change-Id: I51d6a3010ac0ab36066dbe1368158592832112b7 Signed-off-by: Yang Yang (cherry picked from commit 2faed7779206367f40c9687e029b5bd168a646da) --- block/blk-mq.c | 1 + drivers/android/vendor_hooks.c | 1 + include/trace/hooks/block.h | 6 ++++++ 3 files changed, 8 insertions(+) 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 */