162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci#include <linux/mm_types.h> 362306a36Sopenharmony_ci#include <linux/tracepoint.h> 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#define CREATE_TRACE_POINTS 662306a36Sopenharmony_ci#include <trace/events/page_ref.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_civoid __page_ref_set(struct page *page, int v) 962306a36Sopenharmony_ci{ 1062306a36Sopenharmony_ci trace_page_ref_set(page, v); 1162306a36Sopenharmony_ci} 1262306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_set); 1362306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_set); 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_civoid __page_ref_mod(struct page *page, int v) 1662306a36Sopenharmony_ci{ 1762306a36Sopenharmony_ci trace_page_ref_mod(page, v); 1862306a36Sopenharmony_ci} 1962306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod); 2062306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod); 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_civoid __page_ref_mod_and_test(struct page *page, int v, int ret) 2362306a36Sopenharmony_ci{ 2462306a36Sopenharmony_ci trace_page_ref_mod_and_test(page, v, ret); 2562306a36Sopenharmony_ci} 2662306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_and_test); 2762306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_test); 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_civoid __page_ref_mod_and_return(struct page *page, int v, int ret) 3062306a36Sopenharmony_ci{ 3162306a36Sopenharmony_ci trace_page_ref_mod_and_return(page, v, ret); 3262306a36Sopenharmony_ci} 3362306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_and_return); 3462306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_and_return); 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_civoid __page_ref_mod_unless(struct page *page, int v, int u) 3762306a36Sopenharmony_ci{ 3862306a36Sopenharmony_ci trace_page_ref_mod_unless(page, v, u); 3962306a36Sopenharmony_ci} 4062306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_mod_unless); 4162306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_mod_unless); 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_civoid __page_ref_freeze(struct page *page, int v, int ret) 4462306a36Sopenharmony_ci{ 4562306a36Sopenharmony_ci trace_page_ref_freeze(page, v, ret); 4662306a36Sopenharmony_ci} 4762306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_freeze); 4862306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_freeze); 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_civoid __page_ref_unfreeze(struct page *page, int v) 5162306a36Sopenharmony_ci{ 5262306a36Sopenharmony_ci trace_page_ref_unfreeze(page, v); 5362306a36Sopenharmony_ci} 5462306a36Sopenharmony_ciEXPORT_SYMBOL(__page_ref_unfreeze); 5562306a36Sopenharmony_ciEXPORT_TRACEPOINT_SYMBOL(page_ref_unfreeze); 56