Back to home page

OSCL-LXR

 
 

    


0001 #undef TRACE_SYSTEM
0002 #define TRACE_SYSTEM irq_matrix
0003 
0004 #if !defined(_TRACE_IRQ_MATRIX_H) || defined(TRACE_HEADER_MULTI_READ)
0005 #define _TRACE_IRQ_MATRIX_H
0006 
0007 #include <linux/tracepoint.h>
0008 
0009 struct irq_matrix;
0010 struct cpumap;
0011 
0012 DECLARE_EVENT_CLASS(irq_matrix_global,
0013 
0014     TP_PROTO(struct irq_matrix *matrix),
0015 
0016     TP_ARGS(matrix),
0017 
0018     TP_STRUCT__entry(
0019         __field(    unsigned int,   online_maps     )
0020         __field(    unsigned int,   global_available    )
0021         __field(    unsigned int,   global_reserved     )
0022         __field(    unsigned int,   total_allocated     )
0023     ),
0024 
0025     TP_fast_assign(
0026         __entry->online_maps        = matrix->online_maps;
0027         __entry->global_available   = matrix->global_available;
0028         __entry->global_reserved    = matrix->global_reserved;
0029         __entry->total_allocated    = matrix->total_allocated;
0030     ),
0031 
0032     TP_printk("online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u",
0033           __entry->online_maps, __entry->global_available,
0034           __entry->global_reserved, __entry->total_allocated)
0035 );
0036 
0037 DECLARE_EVENT_CLASS(irq_matrix_global_update,
0038 
0039     TP_PROTO(int bit, struct irq_matrix *matrix),
0040 
0041     TP_ARGS(bit, matrix),
0042 
0043     TP_STRUCT__entry(
0044         __field(    int,        bit         )
0045         __field(    unsigned int,   online_maps     )
0046         __field(    unsigned int,   global_available    )
0047         __field(    unsigned int,   global_reserved     )
0048         __field(    unsigned int,   total_allocated     )
0049     ),
0050 
0051     TP_fast_assign(
0052         __entry->bit            = bit;
0053         __entry->online_maps        = matrix->online_maps;
0054         __entry->global_available   = matrix->global_available;
0055         __entry->global_reserved    = matrix->global_reserved;
0056         __entry->total_allocated    = matrix->total_allocated;
0057     ),
0058 
0059     TP_printk("bit=%d online_maps=%d global_avl=%u, global_rsvd=%u, total_alloc=%u",
0060           __entry->bit, __entry->online_maps,
0061           __entry->global_available, __entry->global_reserved,
0062           __entry->total_allocated)
0063 );
0064 
0065 DECLARE_EVENT_CLASS(irq_matrix_cpu,
0066 
0067     TP_PROTO(int bit, unsigned int cpu, struct irq_matrix *matrix,
0068          struct cpumap *cmap),
0069 
0070     TP_ARGS(bit, cpu, matrix, cmap),
0071 
0072     TP_STRUCT__entry(
0073         __field(    int,        bit         )
0074         __field(    unsigned int,   cpu         )
0075         __field(    bool,       online          )
0076         __field(    unsigned int,   available       )
0077         __field(    unsigned int,   allocated       )
0078         __field(    unsigned int,   managed         )
0079         __field(    unsigned int,   online_maps     )
0080         __field(    unsigned int,   global_available    )
0081         __field(    unsigned int,   global_reserved     )
0082         __field(    unsigned int,   total_allocated     )
0083     ),
0084 
0085     TP_fast_assign(
0086         __entry->bit            = bit;
0087         __entry->cpu            = cpu;
0088         __entry->online         = cmap->online;
0089         __entry->available      = cmap->available;
0090         __entry->allocated      = cmap->allocated;
0091         __entry->managed        = cmap->managed;
0092         __entry->online_maps        = matrix->online_maps;
0093         __entry->global_available   = matrix->global_available;
0094         __entry->global_reserved    = matrix->global_reserved;
0095         __entry->total_allocated    = matrix->total_allocated;
0096     ),
0097 
0098     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",
0099           __entry->bit, __entry->cpu, __entry->online,
0100           __entry->available, __entry->allocated,
0101           __entry->managed, __entry->online_maps,
0102           __entry->global_available, __entry->global_reserved,
0103           __entry->total_allocated)
0104 );
0105 
0106 DEFINE_EVENT(irq_matrix_global, irq_matrix_online,
0107 
0108     TP_PROTO(struct irq_matrix *matrix),
0109 
0110     TP_ARGS(matrix)
0111 );
0112 
0113 DEFINE_EVENT(irq_matrix_global, irq_matrix_offline,
0114 
0115     TP_PROTO(struct irq_matrix *matrix),
0116 
0117     TP_ARGS(matrix)
0118 );
0119 
0120 DEFINE_EVENT(irq_matrix_global, irq_matrix_reserve,
0121 
0122     TP_PROTO(struct irq_matrix *matrix),
0123 
0124     TP_ARGS(matrix)
0125 );
0126 
0127 DEFINE_EVENT(irq_matrix_global, irq_matrix_remove_reserved,
0128 
0129     TP_PROTO(struct irq_matrix *matrix),
0130 
0131     TP_ARGS(matrix)
0132 );
0133 
0134 DEFINE_EVENT(irq_matrix_global_update, irq_matrix_assign_system,
0135 
0136     TP_PROTO(int bit, struct irq_matrix *matrix),
0137 
0138     TP_ARGS(bit, matrix)
0139 );
0140 
0141 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_reserved,
0142 
0143     TP_PROTO(int bit, unsigned int cpu,
0144          struct irq_matrix *matrix, struct cpumap *cmap),
0145 
0146     TP_ARGS(bit, cpu, matrix, cmap)
0147 );
0148 
0149 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_reserve_managed,
0150 
0151     TP_PROTO(int bit, unsigned int cpu,
0152          struct irq_matrix *matrix, struct cpumap *cmap),
0153 
0154     TP_ARGS(bit, cpu, matrix, cmap)
0155 );
0156 
0157 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_remove_managed,
0158 
0159     TP_PROTO(int bit, unsigned int cpu,
0160          struct irq_matrix *matrix, struct cpumap *cmap),
0161 
0162     TP_ARGS(bit, cpu, matrix, cmap)
0163 );
0164 
0165 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc_managed,
0166 
0167     TP_PROTO(int bit, unsigned int cpu,
0168          struct irq_matrix *matrix, struct cpumap *cmap),
0169 
0170     TP_ARGS(bit, cpu, matrix, cmap)
0171 );
0172 
0173 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_assign,
0174 
0175     TP_PROTO(int bit, unsigned int cpu,
0176          struct irq_matrix *matrix, struct cpumap *cmap),
0177 
0178     TP_ARGS(bit, cpu, matrix, cmap)
0179 );
0180 
0181 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_alloc,
0182 
0183     TP_PROTO(int bit, unsigned int cpu,
0184          struct irq_matrix *matrix, struct cpumap *cmap),
0185 
0186     TP_ARGS(bit, cpu, matrix, cmap)
0187 );
0188 
0189 DEFINE_EVENT(irq_matrix_cpu, irq_matrix_free,
0190 
0191     TP_PROTO(int bit, unsigned int cpu,
0192          struct irq_matrix *matrix, struct cpumap *cmap),
0193 
0194     TP_ARGS(bit, cpu, matrix, cmap)
0195 );
0196 
0197 
0198 #endif /*  _TRACE_IRQ_H */
0199 
0200 /* This part must be outside protection */
0201 #include <trace/define_trace.h>