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