From 59ef545736e9ffc729f8010a4d18149fb1e5a2ef Mon Sep 17 00:00:00 2001 From: Minchan Kim Date: Wed, 10 Apr 2024 05:35:06 +0000 Subject: [PATCH] ANDROID: vendor_hooks: add restricted vendor hook for meminfo To report vendor-specific memory statistics, add restricted vendor hook since normal vendor hook work with only atomic context. Bug: 333482947 Change-Id: I5c32961b30f082a8a4aa78906d2fce1cdf4b0d2b Signed-off-by: Minchan Kim --- drivers/android/vendor_hooks.c | 1 + fs/proc/meminfo.c | 1 + include/trace/hooks/mm.h | 3 +++ 3 files changed, 5 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index f83f72e0e820..9322df8ce828 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -237,6 +237,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_gic_v3_affinity_init); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_uninterrupt_tasks); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_check_uninterrupt_tasks_done); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_meminfo_proc_show); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_meminfo_proc_show); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_exit_mm); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_alloc_pages_slowpath); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_show_mem); diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c index 24a133eb3576..fb82ef502105 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c @@ -158,6 +158,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v) global_zone_page_state(NR_FREE_CMA_PAGES)); #endif trace_android_vh_meminfo_proc_show(m); + trace_android_rvh_meminfo_proc_show(m); hugetlb_report_meminfo(m); diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index 50addc57dc10..28dcf14b9d72 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -60,6 +60,9 @@ DECLARE_HOOK(android_vh_filemap_get_folio, DECLARE_HOOK(android_vh_meminfo_proc_show, TP_PROTO(struct seq_file *m), TP_ARGS(m)); +DECLARE_RESTRICTED_HOOK(android_rvh_meminfo_proc_show, + TP_PROTO(struct seq_file *m), + TP_ARGS(m), 1); DECLARE_HOOK(android_vh_exit_mm, TP_PROTO(struct mm_struct *mm), TP_ARGS(mm));