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