irq_matrix.h (5055B)
1#undef TRACE_SYSTEM 2#define TRACE_SYSTEM irq_matrix 3 4#if !defined(_TRACE_IRQ_MATRIX_H) || defined(TRACE_HEADER_MULTI_READ) 5#define _TRACE_IRQ_MATRIX_H 6 7#include <linux/tracepoint.h> 8 9struct irq_matrix; 10struct cpumap; 11 12DECLARE_EVENT_CLASS(irq_matrix_global, 13 14 TP_PROTO(struct irq_matrix *matrix), 15 16 TP_ARGS(matrix), 17 18 TP_STRUCT__entry( 19 __field( unsigned int, online_maps ) 20 __field( unsigned int, global_available ) 21 __field( unsigned int, global_reserved ) 22 __field( unsigned int, total_allocated ) 23 ), 24 25 TP_fast_assign( 26 __entry->online_maps = matrix->online_maps; 27 __entry->global_available = matrix->global_available; 28 __entry->global_reserved = matrix->global_reserved; 29 __entry->total_allocated = matrix->total_allocated; 30 ), 31 32 TP_printk("online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u", 33 __entry->online_maps, __entry->global_available, 34 __entry->global_reserved, __entry->total_allocated) 35); 36 37DECLARE_EVENT_CLASS(irq_matrix_global_update, 38 39 TP_PROTO(int bit, struct irq_matrix *matrix), 40 41 TP_ARGS(bit, matrix), 42 43 TP_STRUCT__entry( 44 __field( int, bit ) 45 __field( unsigned int, online_maps ) 46 __field( unsigned int, global_available ) 47 __field( unsigned int, global_reserved ) 48 __field( unsigned int, total_allocated ) 49 ), 50 51 TP_fast_assign( 52 __entry->bit = bit; 53 __entry->online_maps = matrix->online_maps; 54 __entry->global_available = matrix->global_available; 55 __entry->global_reserved = matrix->global_reserved; 56 __entry->total_allocated = matrix->total_allocated; 57 ), 58 59 TP_printk("bit=%d online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u", 60 __entry->bit, __entry->online_maps, 61 __entry->global_available, __entry->global_reserved, 62 __entry->total_allocated) 63); 64 65DECLARE_EVENT_CLASS(irq_matrix_cpu, 66 67 TP_PROTO(int bit, unsigned int cpu, struct irq_matrix *matrix, 68 struct cpumap *cmap), 69 70 TP_ARGS(bit, cpu, matrix, cmap), 71 72 TP_STRUCT__entry( 73 __field( int, bit ) 74 __field( unsigned int, cpu ) 75 __field( bool, online ) 76 __field( unsigned int, available ) 77 __field( unsigned int, allocated ) 78 __field( unsigned int, managed ) 79 __field( unsigned int, online_maps ) 80 __field( unsigned int, global_available ) 81 __field( unsigned int, global_reserved ) 82 __field( unsigned int, total_allocated ) 83 ), 84 85 TP_fast_assign( 86 __entry->bit = bit; 87 __entry->cpu = cpu; 88 __entry->online = cmap->online; 89 __entry->available = cmap->available; 90 __entry->allocated = cmap->allocated; 91 __entry->managed = cmap->managed; 92 __entry->online_maps = matrix->online_maps; 93 __entry->global_available = matrix->global_available; 94 __entry->global_reserved = matrix->global_reserved; 95 __entry->total_allocated = matrix->total_allocated; 96 ), 97 98 TP_printk("bit=%d cpu=%u online=%d avl=%u alloc=%u managed=%u online_maps=%u global_avl=%u, global_rsvd=%u, total_alloc=%u", 99 __entry->bit, __entry->cpu, __entry->online, 100 __entry->available, __entry->allocated, 101 __entry->managed, __entry->online_maps, 102 __entry->global_available, __entry->global_reserved, 103 __entry->total_allocated) 104); 105 106DEFINE_EVENT(irq_matrix_global, irq_matrix_online, 107 108 TP_PROTO(struct irq_matrix *matrix), 109 110 TP_ARGS(matrix) 111); 112 113DEFINE_EVENT(irq_matrix_global, irq_matrix_offline, 114 115 TP_PROTO(struct irq_matrix *matrix), 116 117 TP_ARGS(matrix) 118); 119 120DEFINE_EVENT(irq_matrix_global, irq_matrix_reserve, 121 122 TP_PROTO(struct irq_matrix *matrix), 123 124 TP_ARGS(matrix) 125); 126 127DEFINE_EVENT(irq_matrix_global, irq_matrix_remove_reserved, 128 129 TP_PROTO(struct irq_matrix *matrix), 130 131 TP_ARGS(matrix) 132); 133 134DEFINE_EVENT(irq_matrix_global_update, irq_matrix_assign_system, 135 136 TP_PROTO(int bit, struct irq_matrix *matrix), 137 138 TP_ARGS(bit, matrix) 139); 140 141DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_reserved, 142 143 TP_PROTO(int bit, unsigned int cpu, 144 struct irq_matrix *matrix, struct cpumap *cmap), 145 146 TP_ARGS(bit, cpu, matrix, cmap) 147); 148 149DEFINE_EVENT(irq_matrix_cpu, irq_matrix_reserve_managed, 150 151 TP_PROTO(int bit, unsigned int cpu, 152 struct irq_matrix *matrix, struct cpumap *cmap), 153 154 TP_ARGS(bit, cpu, matrix, cmap) 155); 156 157DEFINE_EVENT(irq_matrix_cpu, irq_matrix_remove_managed, 158 159 TP_PROTO(int bit, unsigned int cpu, 160 struct irq_matrix *matrix, struct cpumap *cmap), 161 162 TP_ARGS(bit, cpu, matrix, cmap) 163); 164 165DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_managed, 166 167 TP_PROTO(int bit, unsigned int cpu, 168 struct irq_matrix *matrix, struct cpumap *cmap), 169 170 TP_ARGS(bit, cpu, matrix, cmap) 171); 172 173DEFINE_EVENT(irq_matrix_cpu, irq_matrix_assign, 174 175 TP_PROTO(int bit, unsigned int cpu, 176 struct irq_matrix *matrix, struct cpumap *cmap), 177 178 TP_ARGS(bit, cpu, matrix, cmap) 179); 180 181DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc, 182 183 TP_PROTO(int bit, unsigned int cpu, 184 struct irq_matrix *matrix, struct cpumap *cmap), 185 186 TP_ARGS(bit, cpu, matrix, cmap) 187); 188 189DEFINE_EVENT(irq_matrix_cpu, irq_matrix_free, 190 191 TP_PROTO(int bit, unsigned int cpu, 192 struct irq_matrix *matrix, struct cpumap *cmap), 193 194 TP_ARGS(bit, cpu, matrix, cmap) 195); 196 197 198#endif /* _TRACE_IRQ_H */ 199 200/* This part must be outside protection */ 201#include <trace/define_trace.h>