diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index 2975777526b1..46ef6deba323 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -553,3 +553,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_uprobes_replace_page); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_swap_writepage); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_shrink_node_memcgs); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_mmap_region); +EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_try_to_unmap_one); diff --git a/include/trace/hooks/mm.h b/include/trace/hooks/mm.h index 75ccf9515937..c00f3fa2bb9a 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -519,6 +519,10 @@ DECLARE_HOOK(android_vh_swap_writepage, DECLARE_HOOK(android_vh_mmap_region, TP_PROTO(struct vm_area_struct *vma, unsigned long addr), TP_ARGS(vma, addr)); +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)); #endif /* _TRACE_HOOK_MM_H */ /* This part must be outside protection */ diff --git a/mm/rmap.c b/mm/rmap.c index 73f8d34455c8..ae0fe6c20f78 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -82,6 +82,8 @@ #define CREATE_TRACE_POINTS #include #include +#undef CREATE_TRACE_POINTS +#include #undef CREATE_TRACE_POINTS #include @@ -1957,6 +1959,7 @@ walk_done: } mmu_notifier_invalidate_range_end(&range); + trace_android_vh_try_to_unmap_one(folio, vma, address, arg, ret); return ret; }