18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include <linux/mm_types.h> 38c2ecf20Sopenharmony_ci#include <linux/tracepoint.h> 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define CREATE_TRACE_POINTS 68c2ecf20Sopenharmony_ci#include <trace/events/page_ref.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_civoid __page_ref_set(struct page *page, int v) 98c2ecf20Sopenharmony_ci{ 108c2ecf20Sopenharmony_ci trace_page_ref_set(page, v); 118c2ecf20Sopenharmony_ci} 128c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_set); 138c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_set); 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_civoid __page_ref_mod(struct page *page, int v) 168c2ecf20Sopenharmony_ci{ 178c2ecf20Sopenharmony_ci trace_page_ref_mod(page, v); 188c2ecf20Sopenharmony_ci} 198c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod); 208c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod); 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_civoid __page_ref_mod_and_test(struct page *page, int v, int ret) 238c2ecf20Sopenharmony_ci{ 248c2ecf20Sopenharmony_ci trace_page_ref_mod_and_test(page, v, ret); 258c2ecf20Sopenharmony_ci} 268c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_and_test); 278c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_test); 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_civoid __page_ref_mod_and_return(struct page *page, int v, int ret) 308c2ecf20Sopenharmony_ci{ 318c2ecf20Sopenharmony_ci trace_page_ref_mod_and_return(page, v, ret); 328c2ecf20Sopenharmony_ci} 338c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_and_return); 348c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_return); 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_civoid __page_ref_mod_unless(struct page *page, int v, int u) 378c2ecf20Sopenharmony_ci{ 388c2ecf20Sopenharmony_ci trace_page_ref_mod_unless(page, v, u); 398c2ecf20Sopenharmony_ci} 408c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_unless); 418c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_unless); 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_civoid __page_ref_freeze(struct page *page, int v, int ret) 448c2ecf20Sopenharmony_ci{ 458c2ecf20Sopenharmony_ci trace_page_ref_freeze(page, v, ret); 468c2ecf20Sopenharmony_ci} 478c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_freeze); 488c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_freeze); 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_civoid __page_ref_unfreeze(struct page *page, int v) 518c2ecf20Sopenharmony_ci{ 528c2ecf20Sopenharmony_ci trace_page_ref_unfreeze(page, v); 538c2ecf20Sopenharmony_ci} 548c2ecf20Sopenharmony_ciEXPORT_SYMBOL(__page_ref_unfreeze); 558c2ecf20Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_unfreeze); 56