1 /* SPDX-License-Identifier: GPL-2.0 */
3 #define TRACE_SYSTEM cma
5 #if !defined(_TRACE_CMA_H) || defined(TRACE_HEADER_MULTI_READ)
8 #include <linux/types.h>
9 #include <linux/tracepoint.h>
11 DECLARE_EVENT_CLASS(cma_alloc_class,
13 TP_PROTO(unsigned long pfn, const struct page *page,
14 unsigned int count, unsigned int align),
16 TP_ARGS(pfn, page, count, align),
19 __field(unsigned long, pfn)
20 __field(const struct page *, page)
21 __field(unsigned int, count)
22 __field(unsigned int, align)
28 __entry->count = count;
29 __entry->align = align;
32 TP_printk("pfn=%lx page=%p count=%u align=%u",
39 TRACE_EVENT(cma_release,
41 TP_PROTO(unsigned long pfn, const struct page *page,
44 TP_ARGS(pfn, page, count),
47 __field(unsigned long, pfn)
48 __field(const struct page *, page)
49 __field(unsigned int, count)
55 __entry->count = count;
58 TP_printk("pfn=%lx page=%p count=%u",
64 TRACE_EVENT(cma_alloc_start,
66 TP_PROTO(const char *name, unsigned int count, unsigned int align),
68 TP_ARGS(name, count, align),
72 __field(unsigned int, count)
73 __field(unsigned int, align)
77 __assign_str(name, name);
78 __entry->count = count;
79 __entry->align = align;
82 TP_printk("name=%s count=%u align=%u",
88 DEFINE_EVENT(cma_alloc_class, cma_alloc,
90 TP_PROTO(unsigned long pfn, const struct page *page,
91 unsigned int count, unsigned int align),
93 TP_ARGS(pfn, page, count, align)
96 DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
98 TP_PROTO(unsigned long pfn, const struct page *page,
99 unsigned int count, unsigned int align),
101 TP_ARGS(pfn, page, count, align)
104 #endif /* _TRACE_CMA_H */
106 /* This part must be outside protection */
107 #include <trace/define_trace.h>