1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM cma |
4 | |
5 | #if !defined(_TRACE_CMA_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_CMA_H |
7 | |
8 | #include <linux/types.h> |
9 | #include <linux/tracepoint.h> |
10 | |
11 | TRACE_EVENT(cma_release, |
12 | |
13 | TP_PROTO(const char *name, unsigned long pfn, const struct page *page, |
14 | unsigned long count), |
15 | |
16 | TP_ARGS(name, pfn, page, count), |
17 | |
18 | TP_STRUCT__entry( |
19 | __string(name, name) |
20 | __field(unsigned long, pfn) |
21 | __field(const struct page *, page) |
22 | __field(unsigned long, count) |
23 | ), |
24 | |
25 | TP_fast_assign( |
26 | __assign_str(name, name); |
27 | __entry->pfn = pfn; |
28 | __entry->page = page; |
29 | __entry->count = count; |
30 | ), |
31 | |
32 | TP_printk("name=%s pfn=0x%lx page=%p count=%lu" , |
33 | __get_str(name), |
34 | __entry->pfn, |
35 | __entry->page, |
36 | __entry->count) |
37 | ); |
38 | |
39 | TRACE_EVENT(cma_alloc_start, |
40 | |
41 | TP_PROTO(const char *name, unsigned long count, unsigned int align), |
42 | |
43 | TP_ARGS(name, count, align), |
44 | |
45 | TP_STRUCT__entry( |
46 | __string(name, name) |
47 | __field(unsigned long, count) |
48 | __field(unsigned int, align) |
49 | ), |
50 | |
51 | TP_fast_assign( |
52 | __assign_str(name, name); |
53 | __entry->count = count; |
54 | __entry->align = align; |
55 | ), |
56 | |
57 | TP_printk("name=%s count=%lu align=%u" , |
58 | __get_str(name), |
59 | __entry->count, |
60 | __entry->align) |
61 | ); |
62 | |
63 | TRACE_EVENT(cma_alloc_finish, |
64 | |
65 | TP_PROTO(const char *name, unsigned long pfn, const struct page *page, |
66 | unsigned long count, unsigned int align, int errorno), |
67 | |
68 | TP_ARGS(name, pfn, page, count, align, errorno), |
69 | |
70 | TP_STRUCT__entry( |
71 | __string(name, name) |
72 | __field(unsigned long, pfn) |
73 | __field(const struct page *, page) |
74 | __field(unsigned long, count) |
75 | __field(unsigned int, align) |
76 | __field(int, errorno) |
77 | ), |
78 | |
79 | TP_fast_assign( |
80 | __assign_str(name, name); |
81 | __entry->pfn = pfn; |
82 | __entry->page = page; |
83 | __entry->count = count; |
84 | __entry->align = align; |
85 | __entry->errorno = errorno; |
86 | ), |
87 | |
88 | TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u errorno=%d" , |
89 | __get_str(name), |
90 | __entry->pfn, |
91 | __entry->page, |
92 | __entry->count, |
93 | __entry->align, |
94 | __entry->errorno) |
95 | ); |
96 | |
97 | TRACE_EVENT(cma_alloc_busy_retry, |
98 | |
99 | TP_PROTO(const char *name, unsigned long pfn, const struct page *page, |
100 | unsigned long count, unsigned int align), |
101 | |
102 | TP_ARGS(name, pfn, page, count, align), |
103 | |
104 | TP_STRUCT__entry( |
105 | __string(name, name) |
106 | __field(unsigned long, pfn) |
107 | __field(const struct page *, page) |
108 | __field(unsigned long, count) |
109 | __field(unsigned int, align) |
110 | ), |
111 | |
112 | TP_fast_assign( |
113 | __assign_str(name, name); |
114 | __entry->pfn = pfn; |
115 | __entry->page = page; |
116 | __entry->count = count; |
117 | __entry->align = align; |
118 | ), |
119 | |
120 | TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u" , |
121 | __get_str(name), |
122 | __entry->pfn, |
123 | __entry->page, |
124 | __entry->count, |
125 | __entry->align) |
126 | ); |
127 | |
128 | #endif /* _TRACE_CMA_H */ |
129 | |
130 | /* This part must be outside protection */ |
131 | #include <trace/define_trace.h> |
132 | |