[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <495137F4.9010404@vlnb.net>
Date: Tue, 23 Dec 2008 22:11:48 +0300
From: Vladislav Bolkhovitin <vst@...b.net>
To: Frédéric Weisbecker <fweisbec@...il.com>
CC: Steven Rostedt <srostedt@...hat.com>,
Sam Ravnborg <sam@...nborg.org>, linux-scsi@...r.kernel.org,
James Bottomley <James.Bottomley@...senpartnership.com>,
Andrew Morton <akpm@...ux-foundation.org>,
FUJITA Tomonori <fujita.tomonori@....ntt.co.jp>,
Mike Christie <michaelc@...wisc.edu>,
Jeff Garzik <jeff@...zik.org>,
Boaz Harrosh <bharrosh@...asas.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kernel@...r.kernel.org, scst-devel@...ts.sourceforge.net,
Bart Van Assche <bart.vanassche@...il.com>,
"Nicholas A. Bellinger" <nab@...ux-iscsi.org>,
Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH][RFC 2/23]: SCST core
Hi Frédéric,
Frédéric Weisbecker, on 12/20/2008 04:06 PM wrote:
> Hi Vladislav,
>
> 2008/12/18 Vladislav Bolkhovitin <vst@...b.net>:
>> Frédéric Weisbecker, on 12/14/2008 03:35 AM wrote:
>>> 2008/12/13 Vladislav Bolkhovitin <vst@...b.net>:
>>>> Also (maybe I simply miss something) looks like ftrace doesn't trace exit
>>>> from functions, only entrance to them. Is it true? Is it possibly to log
>>>> exit from functions as well?
>>> That's true with 2.6.28, the function tracer traces on function entries
>>> only.
>>> But there is an add-on on ftrace which let one to trace on entry and
>>> on return, the function
>>> graph tracer. This tracer uses this facility to output a graph of
>>> function calls and measure
>>> the time elapsed during each function call.
>>> You can also register two custom handlers to do some things you need
>>> on entry and on return.
>> Word "graph" is quite confusing. We don't need any graphs, we need a plain
>> execution path tracing as in the attached example (this is what's currently
>> done).
>
> The word graph is actually here to explain here that we not only trace
> each function call
> but we can actually retrieve all of the call path of a function and
> then draw it as if it was
> C code:
>
> 0) ! 108.528 us | }
> 0) | irq_exit() {
> 0) | do_softirq() {
> 0) | __do_softirq() {
> 0) 0.895 us | __local_bh_disable();
> 0) | run_timer_softirq() {
> 0) 0.827 us | hrtimer_run_pending();
> 0) 1.226 us | _spin_lock_irq();
> 0) | _spin_unlock_irq() {
> 0) 6.550 us | }
> 0) 0.924 us | _local_bh_enable();
> 0) + 12.129 us | }
> 0) + 13.911 us | }
> 0) 0.707 us | idle_cpu();
> 0) + 17.009 us | }
> 0) ! 137.419 us | }
> 0) <========== |
> 0) 1.045 us | }
> 0) ! 148.908 us | }
> 0) ! 151.022 us | }
> 0) ! 153.022 us | }
> 0) 0.963 us | journal_mark_dirty();
> 0) 0.925 us | __brelse();
Unfortunately, it lacks very useful "TASK-PID, CPU#, TIMESTAMP" header
fields..
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists