xref: /linux/include/trace/events/cma.h (revision bbcd53c960713507ae764bf81970651b5577b95a)
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 DECLARE_EVENT_CLASS(cma_alloc_class,
12 
13 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
14 		 unsigned long count, unsigned int align),
15 
16 	TP_ARGS(name, pfn, page, count, align),
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 		__field(unsigned int, align)
24 	),
25 
26 	TP_fast_assign(
27 		__assign_str(name, name);
28 		__entry->pfn = pfn;
29 		__entry->page = page;
30 		__entry->count = count;
31 		__entry->align = align;
32 	),
33 
34 	TP_printk("name=%s pfn=%lx page=%p count=%lu align=%u",
35 		  __get_str(name),
36 		  __entry->pfn,
37 		  __entry->page,
38 		  __entry->count,
39 		  __entry->align)
40 );
41 
42 TRACE_EVENT(cma_release,
43 
44 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
45 		 unsigned long count),
46 
47 	TP_ARGS(name, pfn, page, count),
48 
49 	TP_STRUCT__entry(
50 		__string(name, name)
51 		__field(unsigned long, pfn)
52 		__field(const struct page *, page)
53 		__field(unsigned long, count)
54 	),
55 
56 	TP_fast_assign(
57 		__assign_str(name, name);
58 		__entry->pfn = pfn;
59 		__entry->page = page;
60 		__entry->count = count;
61 	),
62 
63 	TP_printk("name=%s pfn=%lx page=%p count=%lu",
64 		  __get_str(name),
65 		  __entry->pfn,
66 		  __entry->page,
67 		  __entry->count)
68 );
69 
70 TRACE_EVENT(cma_alloc_start,
71 
72 	TP_PROTO(const char *name, unsigned long count, unsigned int align),
73 
74 	TP_ARGS(name, count, align),
75 
76 	TP_STRUCT__entry(
77 		__string(name, name)
78 		__field(unsigned long, count)
79 		__field(unsigned int, align)
80 	),
81 
82 	TP_fast_assign(
83 		__assign_str(name, name);
84 		__entry->count = count;
85 		__entry->align = align;
86 	),
87 
88 	TP_printk("name=%s count=%lu align=%u",
89 		  __get_str(name),
90 		  __entry->count,
91 		  __entry->align)
92 );
93 
94 DEFINE_EVENT(cma_alloc_class, cma_alloc_finish,
95 
96 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
97 		 unsigned long count, unsigned int align),
98 
99 	TP_ARGS(name, pfn, page, count, align)
100 );
101 
102 DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
103 
104 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
105 		 unsigned long count, unsigned int align),
106 
107 	TP_ARGS(name, pfn, page, count, align)
108 );
109 
110 #endif /* _TRACE_CMA_H */
111 
112 /* This part must be outside protection */
113 #include <trace/define_trace.h>
114