aboutsummaryrefslogtreecommitdiffstats
path: root/include/trace
diff options
context:
space:
mode:
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/irq.h57
1 files changed, 48 insertions, 9 deletions
diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h
index 75e3468e4493..768686467518 100644
--- a/include/trace/events/irq.h
+++ b/include/trace/events/irq.h
@@ -10,11 +10,24 @@
10/* 10/*
11 * Tracepoint for entry of interrupt handler: 11 * Tracepoint for entry of interrupt handler:
12 */ 12 */
13TRACE_FORMAT(irq_handler_entry, 13TRACE_EVENT(irq_handler_entry,
14
14 TP_PROTO(int irq, struct irqaction *action), 15 TP_PROTO(int irq, struct irqaction *action),
16
15 TP_ARGS(irq, action), 17 TP_ARGS(irq, action),
16 TP_FMT("irq=%d handler=%s", irq, action->name) 18
17 ); 19 TP_STRUCT__entry(
20 __field( int, irq )
21 __string( name, action->name )
22 ),
23
24 TP_fast_assign(
25 __entry->irq = irq;
26 __assign_str(name, action->name);
27 ),
28
29 TP_printk("irq=%d handler=%s", __entry->irq, __get_str(name))
30);
18 31
19/* 32/*
20 * Tracepoint for return of an interrupt handler: 33 * Tracepoint for return of an interrupt handler:
@@ -39,17 +52,43 @@ TRACE_EVENT(irq_handler_exit,
39 __entry->irq, __entry->ret ? "handled" : "unhandled") 52 __entry->irq, __entry->ret ? "handled" : "unhandled")
40); 53);
41 54
42TRACE_FORMAT(softirq_entry, 55TRACE_EVENT(softirq_entry,
56
43 TP_PROTO(struct softirq_action *h, struct softirq_action *vec), 57 TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
58
44 TP_ARGS(h, vec), 59 TP_ARGS(h, vec),
45 TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec])
46 );
47 60
48TRACE_FORMAT(softirq_exit, 61 TP_STRUCT__entry(
62 __field( int, vec )
63 __string( name, softirq_to_name[h-vec] )
64 ),
65
66 TP_fast_assign(
67 __entry->vec = (int)(h - vec);
68 __assign_str(name, softirq_to_name[h-vec]);
69 ),
70
71 TP_printk("softirq=%d action=%s", __entry->vec, __get_str(name))
72);
73
74TRACE_EVENT(softirq_exit,
75
49 TP_PROTO(struct softirq_action *h, struct softirq_action *vec), 76 TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
77
50 TP_ARGS(h, vec), 78 TP_ARGS(h, vec),
51 TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec]) 79
52 ); 80 TP_STRUCT__entry(
81 __field( int, vec )
82 __string( name, softirq_to_name[h-vec] )
83 ),
84
85 TP_fast_assign(
86 __entry->vec = (int)(h - vec);
87 __assign_str(name, softirq_to_name[h-vec]);
88 ),
89
90 TP_printk("softirq=%d action=%s", __entry->vec, __get_str(name))
91);
53 92
54#endif /* _TRACE_IRQ_H */ 93#endif /* _TRACE_IRQ_H */
55 94