xref: /linux/include/trace/events/cma.h (revision 8804d970fab45726b3c7cd7f240b31122aa94219)
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);
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 request_count, unsigned long available_count,
42 		unsigned long total_count, unsigned int align),
43 
44 	TP_ARGS(name, request_count, available_count, total_count, align),
45 
46 	TP_STRUCT__entry(
47 		__string(name, name)
48 		__field(unsigned long, request_count)
49 		__field(unsigned long, available_count)
50 		__field(unsigned long, total_count)
51 		__field(unsigned int, align)
52 	),
53 
54 	TP_fast_assign(
55 		__assign_str(name);
56 		__entry->request_count = request_count;
57 		__entry->available_count = available_count;
58 		__entry->total_count = total_count;
59 		__entry->align = align;
60 	),
61 
62 	TP_printk("name=%s request_count=%lu available_count=%lu total_count=%lu align=%u",
63 		  __get_str(name),
64 		  __entry->request_count,
65 		  __entry->available_count,
66 		  __entry->total_count,
67 		  __entry->align)
68 );
69 
70 TRACE_EVENT(cma_alloc_finish,
71 
72 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
73 		 unsigned long count, unsigned int align, int errorno),
74 
75 	TP_ARGS(name, pfn, page, count, align, errorno),
76 
77 	TP_STRUCT__entry(
78 		__string(name, name)
79 		__field(unsigned long, pfn)
80 		__field(const struct page *, page)
81 		__field(unsigned long, count)
82 		__field(unsigned int, align)
83 		__field(int, errorno)
84 	),
85 
86 	TP_fast_assign(
87 		__assign_str(name);
88 		__entry->pfn = pfn;
89 		__entry->page = page;
90 		__entry->count = count;
91 		__entry->align = align;
92 		__entry->errorno = errorno;
93 	),
94 
95 	TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u errorno=%d",
96 		  __get_str(name),
97 		  __entry->pfn,
98 		  __entry->page,
99 		  __entry->count,
100 		  __entry->align,
101 		  __entry->errorno)
102 );
103 
104 TRACE_EVENT(cma_alloc_busy_retry,
105 
106 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
107 		 unsigned long count, unsigned int align),
108 
109 	TP_ARGS(name, pfn, page, count, align),
110 
111 	TP_STRUCT__entry(
112 		__string(name, name)
113 		__field(unsigned long, pfn)
114 		__field(const struct page *, page)
115 		__field(unsigned long, count)
116 		__field(unsigned int, align)
117 	),
118 
119 	TP_fast_assign(
120 		__assign_str(name);
121 		__entry->pfn = pfn;
122 		__entry->page = page;
123 		__entry->count = count;
124 		__entry->align = align;
125 	),
126 
127 	TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u",
128 		  __get_str(name),
129 		  __entry->pfn,
130 		  __entry->page,
131 		  __entry->count,
132 		  __entry->align)
133 );
134 
135 #endif /* _TRACE_CMA_H */
136 
137 /* This part must be outside protection */
138 #include <trace/define_trace.h>
139