Messages in this thread | | | Date | Tue, 13 Dec 2011 20:26:02 +0100 | From | Frederic Weisbecker <> | Subject | Re: [PATCH 2/2] trace,x86: Add x86 irq vector entry/exit tracepoints |
| |
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.
| |