Steven Rostedt | ea20d92 | 2009-04-10 08:54:16 -0400 | [diff] [blame] | 1 | #if !defined(_TRACE_IRQ_H) || defined(TRACE_HEADER_MULTI_READ) |
Jason Baron | af39241 | 2009-02-26 10:11:05 -0500 | [diff] [blame] | 2 | #define _TRACE_IRQ_H |
| 3 | |
Jason Baron | af39241 | 2009-02-26 10:11:05 -0500 | [diff] [blame] | 4 | #include <linux/tracepoint.h> |
Steven Rostedt | ea20d92 | 2009-04-10 08:54:16 -0400 | [diff] [blame] | 5 | #include <linux/interrupt.h> |
Jason Baron | af39241 | 2009-02-26 10:11:05 -0500 | [diff] [blame] | 6 | |
Steven Rostedt | ea20d92 | 2009-04-10 08:54:16 -0400 | [diff] [blame] | 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 | ); |
Jason Baron | af39241 | 2009-02-26 10:11:05 -0500 | [diff] [blame] | 53 | |
Steven Rostedt | a8d154b | 2009-04-10 09:36:00 -0400 | [diff] [blame^] | 54 | #endif /* _TRACE_IRQ_H */ |
| 55 | |
| 56 | /* This part must be outside protection */ |
| 57 | #include <trace/define_trace.h> |