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