From 6b7243da5edaa8b4713d24ca4ddee5001af176aa Mon Sep 17 00:00:00 2001 From: Bing Han Date: Thu, 9 Jun 2022 17:57:36 +0800 Subject: [PATCH] ANDROID: vendor_hook: Add hook in snapshot_refaults() Provide a vendor hook android_vh_snapshot_refaults to record the refault statistics of WORKINGSET_RESTORE_ANON; Bug: 234214858 Signed-off-by: Bing Han Change-Id: I20eb5ea99bf21fa8ba34b45e87d2ab9e9cdca167 --- drivers/android/vendor_hooks.c | 1 + include/trace/hooks/vmscan.h | 3 +++ mm/vmscan.c | 1 + 3 files changed, 5 insertions(+) diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index ed90b0476eb8..16772e72e2c5 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -408,3 +408,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ra_tuning_max_page); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_tune_memcg_scan_type); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_inactive_is_low); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_snapshot_refaults); diff --git a/include/trace/hooks/vmscan.h b/include/trace/hooks/vmscan.h index e1c2c5b4fe9e..4f1d6ab9f498 100644 --- a/include/trace/hooks/vmscan.h +++ b/include/trace/hooks/vmscan.h @@ -38,6 +38,9 @@ DECLARE_HOOK(android_vh_inactive_is_low, TP_PROTO(unsigned long gb, unsigned long *inactive_ratio, enum lru_list inactive_lru, bool *skip), TP_ARGS(gb, inactive_ratio, inactive_lru, skip)); +DECLARE_HOOK(android_vh_snapshot_refaults, + TP_PROTO(struct lruvec *target_lruvec), + TP_ARGS(target_lruvec)); #endif /* _TRACE_HOOK_VMSCAN_H */ /* This part must be outside protection */ #include diff --git a/mm/vmscan.c b/mm/vmscan.c index 2dd501e78e1f..24b0c38c2c5c 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -3085,6 +3085,7 @@ static void snapshot_refaults(struct mem_cgroup *target_memcg, pg_data_t *pgdat) target_lruvec->refaults[0] = refaults; refaults = lruvec_page_state(target_lruvec, WORKINGSET_ACTIVATE_FILE); target_lruvec->refaults[1] = refaults; + trace_android_vh_snapshot_refaults(target_lruvec); } /*