2 #define TRACE_SYSTEM irq_matrix
4 #if !defined(_TRACE_IRQ_MATRIX_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define _TRACE_IRQ_MATRIX_H
7 #include <linux/tracepoint.h>
12 DECLARE_EVENT_CLASS(irq_matrix_global
,
14 TP_PROTO(struct irq_matrix
*matrix
),
19 __field( unsigned int, online_maps
)
20 __field( unsigned int, global_available
)
21 __field( unsigned int, global_reserved
)
22 __field( unsigned int, total_allocated
)
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
;
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
)
37 DECLARE_EVENT_CLASS(irq_matrix_global_update
,
39 TP_PROTO(int bit
, struct irq_matrix
*matrix
),
45 __field( unsigned int, online_maps
)
46 __field( unsigned int, global_available
)
47 __field( unsigned int, global_reserved
)
48 __field( unsigned int, total_allocated
)
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
;
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
)
65 DECLARE_EVENT_CLASS(irq_matrix_cpu
,
67 TP_PROTO(int bit
, unsigned int cpu
, struct irq_matrix
*matrix
,
70 TP_ARGS(bit
, cpu
, matrix
, cmap
),
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
)
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
;
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
)
106 DEFINE_EVENT(irq_matrix_global
, irq_matrix_online
,
108 TP_PROTO(struct irq_matrix
*matrix
),
113 DEFINE_EVENT(irq_matrix_global
, irq_matrix_offline
,
115 TP_PROTO(struct irq_matrix
*matrix
),
120 DEFINE_EVENT(irq_matrix_global
, irq_matrix_reserve
,
122 TP_PROTO(struct irq_matrix
*matrix
),
127 DEFINE_EVENT(irq_matrix_global
, irq_matrix_remove_reserved
,
129 TP_PROTO(struct irq_matrix
*matrix
),
134 DEFINE_EVENT(irq_matrix_global_update
, irq_matrix_assign_system
,
136 TP_PROTO(int bit
, struct irq_matrix
*matrix
),
141 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_alloc_reserved
,
143 TP_PROTO(int bit
, unsigned int cpu
,
144 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
146 TP_ARGS(bit
, cpu
, matrix
, cmap
)
149 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_reserve_managed
,
151 TP_PROTO(int bit
, unsigned int cpu
,
152 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
154 TP_ARGS(bit
, cpu
, matrix
, cmap
)
157 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_remove_managed
,
159 TP_PROTO(int bit
, unsigned int cpu
,
160 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
162 TP_ARGS(bit
, cpu
, matrix
, cmap
)
165 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_alloc_managed
,
167 TP_PROTO(int bit
, unsigned int cpu
,
168 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
170 TP_ARGS(bit
, cpu
, matrix
, cmap
)
173 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_assign
,
175 TP_PROTO(int bit
, unsigned int cpu
,
176 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
178 TP_ARGS(bit
, cpu
, matrix
, cmap
)
181 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_alloc
,
183 TP_PROTO(int bit
, unsigned int cpu
,
184 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
186 TP_ARGS(bit
, cpu
, matrix
, cmap
)
189 DEFINE_EVENT(irq_matrix_cpu
, irq_matrix_free
,
191 TP_PROTO(int bit
, unsigned int cpu
,
192 struct irq_matrix
*matrix
, struct cpumap
*cmap
),
194 TP_ARGS(bit
, cpu
, matrix
, cmap
)
198 #endif /* _TRACE_IRQ_H */
200 /* This part must be outside protection */
201 #include <trace/define_trace.h>