diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 7327cf4b6b0b..bec69637294a 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -562,3 +562,5 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_early_resume_begin); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_use_amu_fie); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_set_tsk_need_resched_lazy); EXPORT_TRACEPOINT_SYMBOL_GPL(android_rvh_pr_set_vma_name_bypass); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mem_cgroup_charge); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_filemap_add_folio); diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index c00f3fa2bb9a..4ff55c76833a 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -523,6 +523,13 @@ DECLARE_HOOK(android_vh_try_to_unmap_one, TP_PROTO(struct folio *folio, struct vm_area_struct *vma, unsigned long addr, void *arg, bool ret), TP_ARGS(folio, vma, addr, arg, ret)); +DECLARE_HOOK(android_vh_mem_cgroup_charge, + TP_PROTO(struct folio *folio, struct mem_cgroup **memcg), + TP_ARGS(folio, memcg)); +DECLARE_HOOK(android_vh_filemap_add_folio, + TP_PROTO(struct address_space *mapping, struct folio *folio, + pgoff_t index), + TP_ARGS(mapping, folio, index)); #endif /* _TRACE_HOOK_MM_H */ /* This part must be outside protection */ diff --git a/mm/filemap.c b/mm/filemap.c index a19b810206c1..dfbe3de42071 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -990,6 +990,7 @@ int filemap_add_folio(struct address_space *mapping, struct folio *folio, void *shadow = NULL; int ret; + trace_android_vh_filemap_add_folio(mapping, folio, index); ret = mem_cgroup_charge(folio, NULL, gfp); if (ret) return ret; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 8bc9d9a969b3..6935f3ff647f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -4559,6 +4559,7 @@ int __mem_cgroup_charge(struct folio *folio, struct mm_struct *mm, gfp_t gfp) int ret; memcg = get_mem_cgroup_from_mm(mm); + trace_android_vh_mem_cgroup_charge(folio, &memcg); ret = charge_memcg(folio, memcg, gfp); css_put(&memcg->css);