Messages in this thread |  | | Date | Tue, 23 Dec 2008 22:11:48 +0300 | | From | Vladislav Bolkhovitin <> | | 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@vlnb.net>: >> Frédéric Weisbecker, on 12/14/2008 03:35 AM wrote: >>> 2008/12/13 Vladislav Bolkhovitin <vst@vlnb.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |