diff --git a/drivers/android/vendor_hooks.c b/drivers/android/vendor_hooks.c index bd9394485bef..fa4670193fd1 100644 --- a/drivers/android/vendor_hooks.c +++ b/drivers/android/vendor_hooks.c @@ -237,3 +237,4 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_alloc_new_buf_locked); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_reply); EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_trans); 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 0e9889d1d5e7..27b9a53e0667 100644 --- a/include/trace/hooks/mm.h +++ b/include/trace/hooks/mm.h @@ -26,6 +26,10 @@ DECLARE_RESTRICTED_HOOK(android_rvh_set_readahead_gfp_mask, 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 */ diff --git a/mm/rmap.c b/mm/rmap.c index 825dac3caa1e..2adcc921d96d 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -80,6 +80,8 @@ #define CREATE_TRACE_POINTS #include #include +#undef CREATE_TRACE_POINTS +#include #include "internal.h" @@ -1786,6 +1788,7 @@ discard: } mmu_notifier_invalidate_range_end(&range); + trace_android_vh_try_to_unmap_one(folio, vma, address, arg, ret); return ret; }