tracing/irq: convert irq traces to use TRACE_EVENT macro
authorSteven Rostedt <srostedt@redhat.com>
Fri, 24 Apr 2009 15:26:55 +0000 (11:26 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Fri, 24 Apr 2009 15:26:55 +0000 (11:26 -0400)
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>
include/trace/events/irq.h

index 75e3468..7686864 100644 (file)
 /*
  * Tracepoint for entry of interrupt handler:
  */
-TRACE_FORMAT(irq_handler_entry,
+TRACE_EVENT(irq_handler_entry,
+
        TP_PROTO(int irq, struct irqaction *action),
+
        TP_ARGS(irq, action),
-       TP_FMT("irq=%d handler=%s", irq, action->name)
-       );
+
+       TP_STRUCT__entry(
+               __field(        int,    irq             )
+               __string(       name,   action->name    )
+       ),
+
+       TP_fast_assign(
+               __entry->irq = irq;
+               __assign_str(name, action->name);
+       ),
+
+       TP_printk("irq=%d handler=%s", __entry->irq, __get_str(name))
+);
 
 /*
  * Tracepoint for return of an interrupt handler:
@@ -39,17 +52,43 @@ TRACE_EVENT(irq_handler_exit,
                  __entry->irq, __entry->ret ? "handled" : "unhandled")
 );
 
-TRACE_FORMAT(softirq_entry,
+TRACE_EVENT(softirq_entry,
+
        TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
+
        TP_ARGS(h, vec),
-       TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec])
-       );
 
-TRACE_FORMAT(softirq_exit,
+       TP_STRUCT__entry(
+               __field(        int,    vec                     )
+               __string(       name,   softirq_to_name[h-vec]  )
+       ),
+
+       TP_fast_assign(
+               __entry->vec = (int)(h - vec);
+               __assign_str(name, softirq_to_name[h-vec]);
+       ),
+
+       TP_printk("softirq=%d action=%s", __entry->vec, __get_str(name))
+);
+
+TRACE_EVENT(softirq_exit,
+
        TP_PROTO(struct softirq_action *h, struct softirq_action *vec),
+
        TP_ARGS(h, vec),
-       TP_FMT("softirq=%d action=%s", (int)(h - vec), softirq_to_name[h-vec])
-       );
+
+       TP_STRUCT__entry(
+               __field(        int,    vec                     )
+               __string(       name,   softirq_to_name[h-vec]  )
+       ),
+
+       TP_fast_assign(
+               __entry->vec = (int)(h - vec);
+               __assign_str(name, softirq_to_name[h-vec]);
+       ),
+
+       TP_printk("softirq=%d action=%s", __entry->vec, __get_str(name))
+);
 
 #endif /*  _TRACE_IRQ_H */