Messages in this thread | | | Date | Mon, 16 Mar 2009 09:34:57 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: [Patch 2/2] tracepoints for softirq entry/exit - tracepoints |
| |
On Fri, 13 Mar 2009, Mathieu Desnoyers wrote:
> * Jason Baron (jbaron@redhat.com) wrote: > > > > introduce softirq entry/exit tracepoints. These are useful for > > augmenting existing tracers, and to figure out softirq frequencies and > > timings. > > > > Signed-off-by: Jason Baron <jbaron@redhat.com> > > > > --- > > > > include/trace/irq_event_types.h | 12 ++++++++++++ > > kernel/softirq.c | 7 ++++++- > > 2 files changed, 18 insertions(+), 1 deletions(-) > > > > > > diff --git a/include/trace/irq_event_types.h b/include/trace/irq_event_types.h > > index 214bb92..38b4bdd 100644 > > --- a/include/trace/irq_event_types.h > > +++ b/include/trace/irq_event_types.h > > @@ -40,4 +40,16 @@ TRACE_EVENT(irq_handler_exit, > > __entry->irq, __entry->ret ? "handled" : "unhandled") > > ); > > > > +TRACE_FORMAT(irq_softirq_entry, > > + TP_PROTO(struct softirq_action *h, struct softirq_action *vec), > > + TP_ARGS(h, vec), > > + TP_FMT("softirq=%d action=%s", h - vec, softirq_to_name[h-vec]) > > + ); > > + > > +TRACE_FORMAT(irq_softirq_exit, > > + TP_PROTO(struct softirq_action *h, struct softirq_action *vec), > > + TP_ARGS(h, vec), > > + TP_FMT("softirq=%d action=%s", h - vec, softirq_to_name[h-vec]) > > The softirq tracepoints are a good idea indeed (I have similar ones in > the LTTng tree). My main concern is about the fact that you output the > softirq name in plain text to the trace buffers. I would rather prefer > to save only the softirq (h-vec) into the trace and dump the mapping > (h-vec) to name only once, so we can save precious trace bytes.
The TP_FMT is only used by those tracers that want to use it. Any tracer can still hook directly to the trace point and do what every they want.
-- Steve
| |