xref: /openbmc/linux/include/trace/events/cma.h (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
299e8ea6cSStefan Strogin #undef TRACE_SYSTEM
399e8ea6cSStefan Strogin #define TRACE_SYSTEM cma
499e8ea6cSStefan Strogin 
599e8ea6cSStefan Strogin #if !defined(_TRACE_CMA_H) || defined(TRACE_HEADER_MULTI_READ)
699e8ea6cSStefan Strogin #define _TRACE_CMA_H
799e8ea6cSStefan Strogin 
899e8ea6cSStefan Strogin #include <linux/types.h>
999e8ea6cSStefan Strogin #include <linux/tracepoint.h>
1099e8ea6cSStefan Strogin 
1199e8ea6cSStefan Strogin TRACE_EVENT(cma_release,
1299e8ea6cSStefan Strogin 
133aab8ae7SMinchan Kim 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
1478fa5150SMinchan Kim 		 unsigned long count),
1599e8ea6cSStefan Strogin 
163aab8ae7SMinchan Kim 	TP_ARGS(name, pfn, page, count),
1799e8ea6cSStefan Strogin 
1899e8ea6cSStefan Strogin 	TP_STRUCT__entry(
193aab8ae7SMinchan Kim 		__string(name, name)
2099e8ea6cSStefan Strogin 		__field(unsigned long, pfn)
2199e8ea6cSStefan Strogin 		__field(const struct page *, page)
2278fa5150SMinchan Kim 		__field(unsigned long, count)
2399e8ea6cSStefan Strogin 	),
2499e8ea6cSStefan Strogin 
2599e8ea6cSStefan Strogin 	TP_fast_assign(
263aab8ae7SMinchan Kim 		__assign_str(name, name);
2799e8ea6cSStefan Strogin 		__entry->pfn = pfn;
2899e8ea6cSStefan Strogin 		__entry->page = page;
2999e8ea6cSStefan Strogin 		__entry->count = count;
3099e8ea6cSStefan Strogin 	),
3199e8ea6cSStefan Strogin 
3253d884a6SVincent Whitchurch 	TP_printk("name=%s pfn=0x%lx page=%p count=%lu",
333aab8ae7SMinchan Kim 		  __get_str(name),
3499e8ea6cSStefan Strogin 		  __entry->pfn,
3599e8ea6cSStefan Strogin 		  __entry->page,
3699e8ea6cSStefan Strogin 		  __entry->count)
3799e8ea6cSStefan Strogin );
3899e8ea6cSStefan Strogin 
397bc1aec5SLiam Mark TRACE_EVENT(cma_alloc_start,
407bc1aec5SLiam Mark 
4178fa5150SMinchan Kim 	TP_PROTO(const char *name, unsigned long count, unsigned int align),
427bc1aec5SLiam Mark 
437bc1aec5SLiam Mark 	TP_ARGS(name, count, align),
447bc1aec5SLiam Mark 
457bc1aec5SLiam Mark 	TP_STRUCT__entry(
467bc1aec5SLiam Mark 		__string(name, name)
4778fa5150SMinchan Kim 		__field(unsigned long, count)
487bc1aec5SLiam Mark 		__field(unsigned int, align)
497bc1aec5SLiam Mark 	),
507bc1aec5SLiam Mark 
517bc1aec5SLiam Mark 	TP_fast_assign(
527bc1aec5SLiam Mark 		__assign_str(name, name);
537bc1aec5SLiam Mark 		__entry->count = count;
547bc1aec5SLiam Mark 		__entry->align = align;
557bc1aec5SLiam Mark 	),
567bc1aec5SLiam Mark 
5778fa5150SMinchan Kim 	TP_printk("name=%s count=%lu align=%u",
587bc1aec5SLiam Mark 		  __get_str(name),
597bc1aec5SLiam Mark 		  __entry->count,
607bc1aec5SLiam Mark 		  __entry->align)
617bc1aec5SLiam Mark );
627bc1aec5SLiam Mark 
63cb6c33d4SWenchao Hao TRACE_EVENT(cma_alloc_finish,
647bc1aec5SLiam Mark 
653aab8ae7SMinchan Kim 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
66cb6c33d4SWenchao Hao 		 unsigned long count, unsigned int align, int errorno),
677bc1aec5SLiam Mark 
68cb6c33d4SWenchao Hao 	TP_ARGS(name, pfn, page, count, align, errorno),
69cb6c33d4SWenchao Hao 
70cb6c33d4SWenchao Hao 	TP_STRUCT__entry(
71cb6c33d4SWenchao Hao 		__string(name, name)
72cb6c33d4SWenchao Hao 		__field(unsigned long, pfn)
73cb6c33d4SWenchao Hao 		__field(const struct page *, page)
74cb6c33d4SWenchao Hao 		__field(unsigned long, count)
75cb6c33d4SWenchao Hao 		__field(unsigned int, align)
76cb6c33d4SWenchao Hao 		__field(int, errorno)
77cb6c33d4SWenchao Hao 	),
78cb6c33d4SWenchao Hao 
79cb6c33d4SWenchao Hao 	TP_fast_assign(
80cb6c33d4SWenchao Hao 		__assign_str(name, name);
81cb6c33d4SWenchao Hao 		__entry->pfn = pfn;
82cb6c33d4SWenchao Hao 		__entry->page = page;
83cb6c33d4SWenchao Hao 		__entry->count = count;
84cb6c33d4SWenchao Hao 		__entry->align = align;
85cb6c33d4SWenchao Hao 		__entry->errorno = errorno;
86cb6c33d4SWenchao Hao 	),
87cb6c33d4SWenchao Hao 
88cb6c33d4SWenchao Hao 	TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u errorno=%d",
89cb6c33d4SWenchao Hao 		  __get_str(name),
90cb6c33d4SWenchao Hao 		  __entry->pfn,
91cb6c33d4SWenchao Hao 		  __entry->page,
92cb6c33d4SWenchao Hao 		  __entry->count,
93cb6c33d4SWenchao Hao 		  __entry->align,
94cb6c33d4SWenchao Hao 		  __entry->errorno)
957bc1aec5SLiam Mark );
967bc1aec5SLiam Mark 
97*c710fac6SWenchao Hao TRACE_EVENT(cma_alloc_busy_retry,
987bc1aec5SLiam Mark 
993aab8ae7SMinchan Kim 	TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
10078fa5150SMinchan Kim 		 unsigned long count, unsigned int align),
1017bc1aec5SLiam Mark 
102*c710fac6SWenchao Hao 	TP_ARGS(name, pfn, page, count, align),
103*c710fac6SWenchao Hao 
104*c710fac6SWenchao Hao 	TP_STRUCT__entry(
105*c710fac6SWenchao Hao 		__string(name, name)
106*c710fac6SWenchao Hao 		__field(unsigned long, pfn)
107*c710fac6SWenchao Hao 		__field(const struct page *, page)
108*c710fac6SWenchao Hao 		__field(unsigned long, count)
109*c710fac6SWenchao Hao 		__field(unsigned int, align)
110*c710fac6SWenchao Hao 	),
111*c710fac6SWenchao Hao 
112*c710fac6SWenchao Hao 	TP_fast_assign(
113*c710fac6SWenchao Hao 		__assign_str(name, name);
114*c710fac6SWenchao Hao 		__entry->pfn = pfn;
115*c710fac6SWenchao Hao 		__entry->page = page;
116*c710fac6SWenchao Hao 		__entry->count = count;
117*c710fac6SWenchao Hao 		__entry->align = align;
118*c710fac6SWenchao Hao 	),
119*c710fac6SWenchao Hao 
120*c710fac6SWenchao Hao 	TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u",
121*c710fac6SWenchao Hao 		  __get_str(name),
122*c710fac6SWenchao Hao 		  __entry->pfn,
123*c710fac6SWenchao Hao 		  __entry->page,
124*c710fac6SWenchao Hao 		  __entry->count,
125*c710fac6SWenchao Hao 		  __entry->align)
1267bc1aec5SLiam Mark );
1277bc1aec5SLiam Mark 
12899e8ea6cSStefan Strogin #endif /* _TRACE_CMA_H */
12999e8ea6cSStefan Strogin 
13099e8ea6cSStefan Strogin /* This part must be outside protection */
13199e8ea6cSStefan Strogin #include <trace/define_trace.h>
132