Re: [PATCH 2/2] tracing/function-graph-tracer: improve durationoutput

From: Steven Rostedt
Date: Wed Dec 03 2008 - 06:52:21 EST



On Wed, 3 Dec 2008, Ingo Molnar wrote:
>
> > An example of a trace after these two patches (with funcgraph-proc enabled):
> >
> > 0) cat-2796 | | put_prev_task_fair() {
> > 0) cat-2796 | 0.609 us | update_curr();
> > 0) cat-2796 | 1.842 us | }
> > 0) cat-2796 | | pick_next_task_fair() {
> > 0) cat-2796 | 0.526 us | wakeup_preempt_entity();
> > 0) cat-2796 | 0.797 us | set_next_entity();
> > 0) cat-2796 | 0.541 us | hrtick_start_fair();
> > 0) cat-2796 | 4.195 us | }
> > 0) cat-2796 | 1.263 us | _spin_trylock();
> > 0) cat-2796 | 0.624 us | _spin_unlock();
> > 0) cat-2796 | 0.789 us | _spin_trylock();
> > 0) cat-2796 | 0.617 us | _spin_unlock();
> > 0) cat-2796 | 0.579 us | native_load_sp0();
> > 0) cat-2796 | 0.722 us | native_load_tls();
> >
> > ------------------------------------------
> > | 0) cat-2796 => events/-9
> > ------------------------------------------
>
> small detail: i'd suggest to remove the newline before the context-switch
> box. That makes it appear visually to attach logically with the
> switch-out place, not the switch-in place:

Actually, I was also thinking of keeping the CPU number in front:

------------------------------------------
0) cat-2796 => events/-9
------------------------------------------

This way we can easily grep for a common CPU and still get the context
switches:

grep '^0)' trace > /tmp/trace0

Of course it will probably also work without the '^' now, but then it
might grab ftrace_printks with a '0)' if we add those.

-- Steve

>
> > 0) cat-2796 | 0.579 us | native_load_sp0();
> > 0) cat-2796 | 0.722 us | native_load_tls();
> > ------------------------------------------
> > | 0) cat-2796 => events/-9
> > ------------------------------------------
> >
> > 0) events/-9 | | finish_task_switch() {
> > 0) events/-9 | 0.789 us | _spin_unlock_irq();
> > 0) events/-9 | 2.309 us | }
> > 0) events/-9 | ! 269848.5 us | }
>
> which is what we want to express.
>
> Ingo
>
>
--
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/