Re: [PATCHv2] trace: funcgraph tracer - adding funcgraph-irq option

From: Johannes Weiner
Date: Thu Sep 09 2010 - 10:44:39 EST


Hi Guys,

On Tue, Sep 07, 2010 at 12:28:40PM -0400, Steven Rostedt wrote:
> On Fri, 2010-07-23 at 15:19 +0200, Jiri Olsa wrote:
> > On Thu, Jul 22, 2010 at 04:00:21PM -0400, Steven Rostedt wrote:
> > > On Mon, 2010-07-12 at 18:21 +0200, Jiri Olsa wrote:
> > >
> > SNIP
> >
> > >
> > > What happens if we lose the return event? That is, due to buffer
> > > overruns, the return of the trace is lost. Then we lose out on all
> > > events until another event of the same IRQ happens and its return is not
> > > lost.
> > >
> > > You should save the depth instead of the function. When you are in a
> > > interrupt, record the depth. Then when the depth is less than or equal
> > > to the recorded depth you can restart printing. This may still suffer
> > > from missed returns, but it would not have as much of a consequence when
> > > it happens.
> > hi,
> > you're right, changed patch is attached
> >
> > thanks,
> > jirka
> >
> > ---
> > Adding funcgraph-irq option for function graph tracer.
> >
> > It's handy to be able to disable the irq related output
> > and not to have to jump over each irq related code, when
> > you have no interrest in it.

Although greatly reduced, I still see the following noise in the trace
output with the IRQ filtering enabled:

1) | wakeup_flusher_threads() {
1) 0.205 us | __rcu_read_lock();
1) 0.271 us | bdi_has_dirty_io();
1) 0.287 us | bdi_has_dirty_io();
1) 0.217 us | bdi_has_dirty_io();
1) | bdi_has_dirty_io() {
1) | smp_invalidate_interrupt() {
1) 0.220 us | native_apic_mem_write();
1) 0.794 us | } /* smp_invalidate_interrupt */
1) 1.413 us | } /* bdi_has_dirty_io */
1) 0.218 us | bdi_has_dirty_io();
1) 0.213 us | bdi_has_dirty_io();
1) 0.215 us | bdi_has_dirty_io();
1) | smp_invalidate_interrupt() {
1) 0.234 us | native_apic_mem_write();
1) 0.819 us | } /* smp_invalidate_interrupt */
1) 0.240 us | bdi_has_dirty_io();
1) 0.259 us | bdi_has_dirty_io();

--
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/