xref: /linux/mm/debug_page_ref.c (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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 
__page_ref_set(struct page * page,int v)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 
__page_ref_mod(struct page * page,int v)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 
__page_ref_mod_and_test(struct page * page,int v,int ret)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 
__page_ref_mod_and_return(struct page * page,int v,int ret)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 
__page_ref_mod_unless(struct page * page,int v,int u)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 
__page_ref_freeze(struct page * page,int v,int ret)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 
__page_ref_unfreeze(struct page * page,int v)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