diff options
| author | Steven Rostedt <srostedt@redhat.com> | 2009-04-24 11:26:55 -0400 |
|---|---|---|
| committer | Steven Rostedt <rostedt@goodmis.org> | 2009-04-24 11:26:55 -0400 |
| commit | 160031b556e93590fa8635210d73d93c3d3853a9 (patch) | |
| tree | 229523cb69b9e49ed66316a9123bc0a7093c65a4 | |
| parent | 39517091f88fae32b52254b561ced78da1eaf0a7 (diff) | |
tracing/irq: convert irq traces to use TRACE_EVENT macro
The TRACE_FORMAT will soon be deprecated. This patch converts it to
the TRACE_EVENT macro.
Note, this change should also speed up the tracing.
[ Impact: remove a user of deprecated TRACE_FORMAT ]
Cc: Jason Baron <jbaron@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
| -rw-r--r-- | include/trace/events/irq.h | 57 |
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 | */ |
| 13 | TRACE_FORMAT(irq_handler_entry, | 13 | TRACE_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 | ||
| 42 | TRACE_FORMAT(softirq_entry, | 55 | TRACE_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 | ||
| 48 | TRACE_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 | |||
| 74 | TRACE_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 | ||
