linux/include/trace/events/irq_matrix.h
<<
>>
Prefs
   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>
 202