Messages in this thread | | | Date | Sun, 15 Mar 2009 06:33:01 +0100 | From | Ingo Molnar <> | Subject | Re: [Patch 2/2] tracepoints for softirq entry/exit - tracepoints |
| |
* Mathieu Desnoyers <compudj@krystal.dyndns.org> 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 right solution is to change this tracepoint to TRACE_EVENT() format. Jason, do you have time to do that?
Ingo
| |