Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / include / trace / events / irq_matrix.h
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
9 struct irq_matrix;
10 struct cpumap;
11
12 DECLARE_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
37 DECLARE_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
65 DECLARE_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
106 DEFINE_EVENT(irq_matrix_global, irq_matrix_online,
107
108         TP_PROTO(struct irq_matrix *matrix),
109
110         TP_ARGS(matrix)
111 );
112
113 DEFINE_EVENT(irq_matrix_global, irq_matrix_offline,
114
115         TP_PROTO(struct irq_matrix *matrix),
116
117         TP_ARGS(matrix)
118 );
119
120 DEFINE_EVENT(irq_matrix_global, irq_matrix_reserve,
121
122         TP_PROTO(struct irq_matrix *matrix),
123
124         TP_ARGS(matrix)
125 );
126
127 DEFINE_EVENT(irq_matrix_global, irq_matrix_remove_reserved,
128
129         TP_PROTO(struct irq_matrix *matrix),
130
131         TP_ARGS(matrix)
132 );
133
134 DEFINE_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
141 DEFINE_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
149 DEFINE_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
157 DEFINE_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
165 DEFINE_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
173 DEFINE_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
181 DEFINE_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
189 DEFINE_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>