1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 295813b8fSJoonsoo Kim #include <linux/mm_types.h> 395813b8fSJoonsoo Kim #include <linux/tracepoint.h> 495813b8fSJoonsoo Kim 595813b8fSJoonsoo Kim #define CREATE_TRACE_POINTS 695813b8fSJoonsoo Kim #include <trace/events/page_ref.h> 795813b8fSJoonsoo Kim 895813b8fSJoonsoo Kim void __page_ref_set(struct page *page, int v) 995813b8fSJoonsoo Kim { 1095813b8fSJoonsoo Kim trace_page_ref_set(page, v); 1195813b8fSJoonsoo Kim } 1295813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_set); 1395813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_set); 1495813b8fSJoonsoo Kim 1595813b8fSJoonsoo Kim void __page_ref_mod(struct page *page, int v) 1695813b8fSJoonsoo Kim { 1795813b8fSJoonsoo Kim trace_page_ref_mod(page, v); 1895813b8fSJoonsoo Kim } 1995813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod); 2095813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod); 2195813b8fSJoonsoo Kim 2295813b8fSJoonsoo Kim void __page_ref_mod_and_test(struct page *page, int v, int ret) 2395813b8fSJoonsoo Kim { 2495813b8fSJoonsoo Kim trace_page_ref_mod_and_test(page, v, ret); 2595813b8fSJoonsoo Kim } 2695813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_and_test); 2795813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_test); 2895813b8fSJoonsoo Kim 2995813b8fSJoonsoo Kim void __page_ref_mod_and_return(struct page *page, int v, int ret) 3095813b8fSJoonsoo Kim { 3195813b8fSJoonsoo Kim trace_page_ref_mod_and_return(page, v, ret); 3295813b8fSJoonsoo Kim } 3395813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_and_return); 3495813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_return); 3595813b8fSJoonsoo Kim 3695813b8fSJoonsoo Kim void __page_ref_mod_unless(struct page *page, int v, int u) 3795813b8fSJoonsoo Kim { 3895813b8fSJoonsoo Kim trace_page_ref_mod_unless(page, v, u); 3995813b8fSJoonsoo Kim } 4095813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_unless); 4195813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_unless); 4295813b8fSJoonsoo Kim 4395813b8fSJoonsoo Kim void __page_ref_freeze(struct page *page, int v, int ret) 4495813b8fSJoonsoo Kim { 4595813b8fSJoonsoo Kim trace_page_ref_freeze(page, v, ret); 4695813b8fSJoonsoo Kim } 4795813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_freeze); 4895813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_freeze); 4995813b8fSJoonsoo Kim 5095813b8fSJoonsoo Kim void __page_ref_unfreeze(struct page *page, int v) 5195813b8fSJoonsoo Kim { 5295813b8fSJoonsoo Kim trace_page_ref_unfreeze(page, v); 5395813b8fSJoonsoo Kim } 5495813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_unfreeze); 5595813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_unfreeze); 56