| #undef TRACE_SYSTEM |
| #define TRACE_SYSTEM irq_matrix |
| |
| #if !defined(_TRACE_IRQ_MATRIX_H) || defined(TRACE_HEADER_MULTI_READ) |
| #define _TRACE_IRQ_MATRIX_H |
| |
| #include <linux/tracepoint.h> |
| |
| struct irq_matrix; |
| struct cpumap; |
| |
| DECLARE_EVENT_CLASS(irq_matrix_global, |
| |
| TP_PROTO(struct irq_matrix *matrix), |
| |
| TP_ARGS(matrix), |
| |
| TP_STRUCT__entry( |
| __field( unsigned int, online_maps ) |
| __field( unsigned int, global_available ) |
| __field( unsigned int, global_reserved ) |
| __field( unsigned int, total_allocated ) |
| ), |
| |
| TP_fast_assign( |
| __entry->online_maps = matrix->online_maps; |
| __entry->global_available = matrix->global_available; |
| __entry->global_reserved = matrix->global_reserved; |
| __entry->total_allocated = matrix->total_allocated; |
| ), |
| |
| TP_printk("online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u", |
| __entry->online_maps, __entry->global_available, |
| __entry->global_reserved, __entry->total_allocated) |
| ); |
| |
| DECLARE_EVENT_CLASS(irq_matrix_global_update, |
| |
| TP_PROTO(int bit, struct irq_matrix *matrix), |
| |
| TP_ARGS(bit, matrix), |
| |
| TP_STRUCT__entry( |
| __field( int, bit ) |
| __field( unsigned int, online_maps ) |
| __field( unsigned int, global_available ) |
| __field( unsigned int, global_reserved ) |
| __field( unsigned int, total_allocated ) |
| ), |
| |
| TP_fast_assign( |
| __entry->bit = bit; |
| __entry->online_maps = matrix->online_maps; |
| __entry->global_available = matrix->global_available; |
| __entry->global_reserved = matrix->global_reserved; |
| __entry->total_allocated = matrix->total_allocated; |
| ), |
| |
| TP_printk("bit=%d online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u", |
| __entry->bit, __entry->online_maps, |
| __entry->global_available, __entry->global_reserved, |
| __entry->total_allocated) |
| ); |
| |
| DECLARE_EVENT_CLASS(irq_matrix_cpu, |
| |
| TP_PROTO(int bit, unsigned int cpu, struct irq_matrix *matrix, |
| struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap), |
| |
| TP_STRUCT__entry( |
| __field( int, bit ) |
| __field( unsigned int, cpu ) |
| __field( bool, online ) |
| __field( unsigned int, available ) |
| __field( unsigned int, allocated ) |
| __field( unsigned int, managed ) |
| __field( unsigned int, online_maps ) |
| __field( unsigned int, global_available ) |
| __field( unsigned int, global_reserved ) |
| __field( unsigned int, total_allocated ) |
| ), |
| |
| TP_fast_assign( |
| __entry->bit = bit; |
| __entry->cpu = cpu; |
| __entry->online = cmap->online; |
| __entry->available = cmap->available; |
| __entry->allocated = cmap->allocated; |
| __entry->managed = cmap->managed; |
| __entry->online_maps = matrix->online_maps; |
| __entry->global_available = matrix->global_available; |
| __entry->global_reserved = matrix->global_reserved; |
| __entry->total_allocated = matrix->total_allocated; |
| ), |
| |
| 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", |
| __entry->bit, __entry->cpu, __entry->online, |
| __entry->available, __entry->allocated, |
| __entry->managed, __entry->online_maps, |
| __entry->global_available, __entry->global_reserved, |
| __entry->total_allocated) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_global, irq_matrix_online, |
| |
| TP_PROTO(struct irq_matrix *matrix), |
| |
| TP_ARGS(matrix) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_global, irq_matrix_offline, |
| |
| TP_PROTO(struct irq_matrix *matrix), |
| |
| TP_ARGS(matrix) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_global, irq_matrix_reserve, |
| |
| TP_PROTO(struct irq_matrix *matrix), |
| |
| TP_ARGS(matrix) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_global, irq_matrix_remove_reserved, |
| |
| TP_PROTO(struct irq_matrix *matrix), |
| |
| TP_ARGS(matrix) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_global_update, irq_matrix_assign_system, |
| |
| TP_PROTO(int bit, struct irq_matrix *matrix), |
| |
| TP_ARGS(bit, matrix) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_reserved, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_reserve_managed, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_remove_managed, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_managed, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_assign, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| DEFINE_EVENT(irq_matrix_cpu, irq_matrix_free, |
| |
| TP_PROTO(int bit, unsigned int cpu, |
| struct irq_matrix *matrix, struct cpumap *cmap), |
| |
| TP_ARGS(bit, cpu, matrix, cmap) |
| ); |
| |
| |
| #endif /* _TRACE_IRQ_H */ |
| |
| /* This part must be outside protection */ |
| #include <trace/define_trace.h> |