mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
201 lines
4.9 KiB
201 lines
4.9 KiB
#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>
|
|
|