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