Re: [PATCH 2/2] trace,x86: Add x86 irq vector entry/exit tracepoints

From: Frederic Weisbecker
Date: Tue Dec 13 2011 - 14:26:16 EST


On Mon, Dec 12, 2011 at 04:52:18PM -0500, Seiji Aguchi wrote:
> Hi,
>
> I'm interested in these tracepoints.
> But this patch removed from -mm tree for some reason.
>
> http://www.spinics.net/lists/mm-commits/msg85707.html
>
> Do you plan to update it and push to upstream?

Oh weird. Doesn't seem to be in -tip either. Anybody has
any clue about where this patch went?

>
> >@@ -859,7 +860,9 @@ void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs)
> > */
> > exit_idle();
> > irq_enter();
> >+ trace_irq_vector_entry(LOCAL_TIMER_VECTOR);
> > local_apic_timer_interrupt();
> >+ trace_irq_vector_exit(LOCAL_TIMER_VECTOR);
> > irq_exit();
>
> It would be better if you add "regs" to the argument of trace_irq_vector_entry()/ trace_irq_vector_exit().
>
> With "regs", we are able to know what part of the system CPUs execute periodically.
> This information really helps us find a root cause of system slowdown or hung up.

What about using perf for that?

Just run:

perf record -ag
^C
perf report

And you should find in the callchains some informations about where your CPUs
are spending time.

If you system is too slow for that but you're doing background tracing with
ftrace, you can use stacktrace with ftrace.

If it's hung up then we have the watchdog lockup detector.
--
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/