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(const char *name, unsigned long pfn, const struct page *page,
14 unsigned long count, unsigned int align),
16 TP_ARGS(name, pfn, page, count, align),
20 __field(unsigned long, pfn)
21 __field(const struct page *, page)
22 __field(unsigned long, count)
23 __field(unsigned int, align)
27 __assign_str(name, name);
30 __entry->count = count;
31 __entry->align = align;
34 TP_printk("name=%s pfn=0x%lx page=%p count=%lu align=%u",
42 TRACE_EVENT(cma_release,
44 TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
47 TP_ARGS(name, pfn, page, count),
51 __field(unsigned long, pfn)
52 __field(const struct page *, page)
53 __field(unsigned long, count)
57 __assign_str(name, name);
60 __entry->count = count;
63 TP_printk("name=%s pfn=0x%lx page=%p count=%lu",
70 TRACE_EVENT(cma_alloc_start,
72 TP_PROTO(const char *name, unsigned long count, unsigned int align),
74 TP_ARGS(name, count, align),
78 __field(unsigned long, count)
79 __field(unsigned int, align)
83 __assign_str(name, name);
84 __entry->count = count;
85 __entry->align = align;
88 TP_printk("name=%s count=%lu align=%u",
94 DEFINE_EVENT(cma_alloc_class, cma_alloc_finish,
96 TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
97 unsigned long count, unsigned int align),
99 TP_ARGS(name, pfn, page, count, align)
102 DEFINE_EVENT(cma_alloc_class, cma_alloc_busy_retry,
104 TP_PROTO(const char *name, unsigned long pfn, const struct page *page,
105 unsigned long count, unsigned int align),
107 TP_ARGS(name, pfn, page, count, align)
110 #endif /* _TRACE_CMA_H */
112 /* This part must be outside protection */
113 #include <trace/define_trace.h>