From fc348be9161c1c649d45afd4266b60557b349ba0 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 (cherry picked from commit 7ea01ee68e6867798309cf0d3044a695b7d56947) Signed-off-by: Dmitry Skiba --- 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 ae4bfd54bcb0..dcc004e379ac 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -226,6 +226,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_encrypt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_aes_decrypt); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_should_fault_around); 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_show_mem); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_print_slabinfo_header); diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c index 873996d11ad2..d1627b530849 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c @@ -161,6 +161,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); #ifdef CONFIG_UNACCEPTED_MEMORY show_val_kb(m, "Unaccepted: ", diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index e5df5b865153..5f36947b5106 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -158,6 +158,9 @@ DECLARE_HOOK(android_vh_look_around, 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));