1*95813b8fSJoonsoo Kim #include <linux/mm_types.h> 2*95813b8fSJoonsoo Kim #include <linux/tracepoint.h> 3*95813b8fSJoonsoo Kim 4*95813b8fSJoonsoo Kim #define CREATE_TRACE_POINTS 5*95813b8fSJoonsoo Kim #include <trace/events/page_ref.h> 6*95813b8fSJoonsoo Kim 7*95813b8fSJoonsoo Kim void __page_ref_set(struct page *page, int v) 8*95813b8fSJoonsoo Kim { 9*95813b8fSJoonsoo Kim trace_page_ref_set(page, v); 10*95813b8fSJoonsoo Kim } 11*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_set); 12*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_set); 13*95813b8fSJoonsoo Kim 14*95813b8fSJoonsoo Kim void __page_ref_mod(struct page *page, int v) 15*95813b8fSJoonsoo Kim { 16*95813b8fSJoonsoo Kim trace_page_ref_mod(page, v); 17*95813b8fSJoonsoo Kim } 18*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod); 19*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod); 20*95813b8fSJoonsoo Kim 21*95813b8fSJoonsoo Kim void __page_ref_mod_and_test(struct page *page, int v, int ret) 22*95813b8fSJoonsoo Kim { 23*95813b8fSJoonsoo Kim trace_page_ref_mod_and_test(page, v, ret); 24*95813b8fSJoonsoo Kim } 25*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_and_test); 26*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_test); 27*95813b8fSJoonsoo Kim 28*95813b8fSJoonsoo Kim void __page_ref_mod_and_return(struct page *page, int v, int ret) 29*95813b8fSJoonsoo Kim { 30*95813b8fSJoonsoo Kim trace_page_ref_mod_and_return(page, v, ret); 31*95813b8fSJoonsoo Kim } 32*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_and_return); 33*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_return); 34*95813b8fSJoonsoo Kim 35*95813b8fSJoonsoo Kim void __page_ref_mod_unless(struct page *page, int v, int u) 36*95813b8fSJoonsoo Kim { 37*95813b8fSJoonsoo Kim trace_page_ref_mod_unless(page, v, u); 38*95813b8fSJoonsoo Kim } 39*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_mod_unless); 40*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_mod_unless); 41*95813b8fSJoonsoo Kim 42*95813b8fSJoonsoo Kim void __page_ref_freeze(struct page *page, int v, int ret) 43*95813b8fSJoonsoo Kim { 44*95813b8fSJoonsoo Kim trace_page_ref_freeze(page, v, ret); 45*95813b8fSJoonsoo Kim } 46*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_freeze); 47*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_freeze); 48*95813b8fSJoonsoo Kim 49*95813b8fSJoonsoo Kim void __page_ref_unfreeze(struct page *page, int v) 50*95813b8fSJoonsoo Kim { 51*95813b8fSJoonsoo Kim trace_page_ref_unfreeze(page, v); 52*95813b8fSJoonsoo Kim } 53*95813b8fSJoonsoo Kim EXPORT_SYMBOL(__page_ref_unfreeze); 54*95813b8fSJoonsoo Kim EXPORT_TRACEPOINT_SYMBOL(page_ref_unfreeze); 55