Re: [PATCH 5/6] trace: Add tracepoints to call function interrupthandlers

From: Frederic Weisbecker
Date: Thu Jul 14 2011 - 19:05:43 EST


On Thu, Jul 14, 2011 at 04:02:49PM -0700, Vaibhav Nagarnaik wrote:
> On Thu, Jul 14, 2011 at 3:05 PM, Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
> > On Thu, Jul 14, 2011 at 02:38:14PM -0700, Vaibhav Nagarnaik wrote:
> >> Add tracepoints to call function and call function single interrupt
> >> handlers.
> >>
> >> This is a part of overall effort to trace all the interrupts happening
> >> in a system to figure out what time is spent in kernel space versus user
> >> space.
> >>
> >> Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@xxxxxxxxxx>
> >> ---
> >>  include/trace/events/irq.h |   73 ++++++++++++++++++++++++++++++++++++++++++++
> >>  kernel/smp.c               |    5 +++
> >>  2 files changed, 78 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/include/trace/events/irq.h b/include/trace/events/irq.h
> >> index a2a0a49..40b19f4 100644
> >> --- a/include/trace/events/irq.h
> >> +++ b/include/trace/events/irq.h
> >> @@ -384,6 +384,79 @@ DEFINE_EVENT(reschedule_interrupt, reschedule_interrupt_exit,
> >>       TP_ARGS(ignore)
> >>  );
> >>
> >> +DECLARE_EVENT_CLASS(call_function,
> >> +
> >> +     TP_PROTO(unsigned int ignore),
> >> +
> >> +     TP_ARGS(ignore),
> >> +
> >> +     TP_STRUCT__entry(
> >> +             __field(        unsigned int,   ignore  )
> >> +     ),
> >> +
> >> +     TP_fast_assign(
> >> +             __entry->ignore = ignore;
> >> +     ),
> >> +
> >> +     TP_printk("%u", __entry->ignore)
> >> +);
> >> +
> >> +/**
> >> + * call_function_entry - called immediately after entering the
> >> + * call function interrupt handler
> >> + *
> >> + * When used in combination with the call_function_exit tracepoint
> >> + * we can determine the call function interrupt handler runtime.
> >> + */
> >> +DEFINE_EVENT(call_function, call_function_entry,
> >> +
> >> +     TP_PROTO(unsigned int ignore),
> >> +
> >> +     TP_ARGS(ignore)
> >> +);
> >
> > Looks good. But perhaps we need some disambiguation on the names, call_function is perhaps
> > too generic.
> >
> > What about trace_irq_call_function() ? Or may be something with ipi in the name, dunno.
> >
>
> How about the following?
> call_function_ipi_(entry|exit) and
> call_function_single_ipi_(entry|exit)

Yeah sounds good!

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/