diff options
Diffstat (limited to 'include/trace/events/irq.h')
-rw-r--r-- | include/trace/events/irq.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h new file mode 100644 index 000000000000..75e3468e4493 --- /dev/null +++ b/include/trace/events/irq.h | |||
@@ -0,0 +1,57 @@ | |||
1 | #if !defined(_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ) | ||
2 | #define _TRACE_IRQ_H | ||
3 | |||
4 | #include <linux/tracepoint.h> | ||
5 | #include <linux/interrupt.h> | ||
6 | |||
7 | #undef TRACE_SYSTEM | ||
8 | #define TRACE_SYSTEM irq | ||
9 | |||
10 | /* | ||
11 | * Tracepoint for entry of interrupt handler: | ||
12 | */ | ||
13 | TRACE_FORMAT(irq_handler_entry, | ||
14 | TP_PROTO(int irq, struct irqaction *action), | ||
15 | TP_ARGS(irq, action), | ||
16 | TP_FMT("irq=%d handler=%s", irq, action->name) | ||
17 | ); | ||
18 | |||
19 | /* | ||
20 | * Tracepoint for return of an interrupt handler: | ||
21 | */ | ||
22 | TRACE_EVENT(irq_handler_exit, | ||
23 | |||
24 | TP_PROTO(int irq, struct irqaction *action, int ret), | ||
25 | |||
26 | TP_ARGS(irq, action, ret), | ||
27 | |||
28 | TP_STRUCT__entry( | ||
29 | __field( int, irq ) | ||
30 | __field( int, ret ) | ||
31 | ), | ||
32 | |||
33 | TP_fast_assign( | ||
34 | __entry->irq = irq; | ||
35 | __entry->ret = ret; | ||
36 | ), | ||
37 | |||
38 | TP_printk("irq=%d return=%s", | ||
39 | __entry->irq, __entry->ret ? "handled" : "unhandled") | ||
40 | ); | ||
41 | |||
42 | TRACE_FORMAT(softirq_entry, | ||
43 | TP_PROTO(struct softirq_action *h, struct softirq_action *vec), | ||
44 | TP_ARGS(h, vec), | ||
45 | TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec]) | ||
46 | ); | ||
47 | |||
48 | TRACE_FORMAT(softirq_exit, | ||
49 | TP_PROTO(struct softirq_action *h, struct softirq_action *vec), | ||
50 | TP_ARGS(h, vec), | ||
51 | TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec]) | ||
52 | ); | ||
53 | |||
54 | #endif /* _TRACE_IRQ_H */ | ||
55 | |||
56 | /* This part must be outside protection */ | ||
57 | #include <trace/define_trace.h> | ||