Re: [PATCH 1/2] tracing/function-graph-tracer: signal interrupts entry/exit points on outpout
From: Frédéric Weisbecker
Date: Mon Dec 08 2008 - 08:51:19 EST
2008/12/8 Ingo Molnar <mingo@xxxxxxx>:
>
> * Frédéric Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
>> 2008/12/8 Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>:
>> > On Mon, 2008-12-08 at 01:54 +0100, Frederic Weisbecker wrote:
>> >> Impact: provide interrupt detection on output
>> >>
>> >> Suggested by Ingo.
>> >> If a hardirq is raised, we want it to be signaled on output, so this patch
>> >> adds two arrows on the output to find entry and exit points of a hardirq.
>> >>
>> >> Unfortunately, there are many interrupt entrypoints and these can be differents
>> >> from one arch to another.
>> >>
>> >> The approach here is one of the easiest, but doesn't shine by its scalability:
>> >> we have an array of the interrupt entrypoints names that we compare with the
>> >> symbol of the current traced function, if it matches, we draw the arrow.
>> >>
>> >> Ie:
>> >>
>> >> 1) | unlock_buffer() {
>> >> 1) | wake_up_bit() {
>> >> 1) | bit_waitqueue() {
>> >> 1) 0.872 us | __phys_addr();
>> >> 1) 2.722 us | }
>> >> 1) | __wake_up_bit() {
>> >> 1) ==> __wake_up_bit() {
>> >> 1) | do_IRQ() {
>> >
>> > Would be much nicer, the current proposal is lost when grepping and adds
>> > a weird visual break in the output.
>>
>>
>> Ok, I will apply it like this in the V2.
>> Thanks!
>
> note that since the IRQ marker always comes on an entry record, there's
> space in the usecs field for something like:
>
> 1) 2.722 us | }
> 1) | __wake_up_bit() {
> 1) [IRQ#123] ==> __wake_up_bit() {
>
> right?
Heh, I wanted to display the irq number inside the arrow but didn't
think someone would find it useful.
Ok, will apply that too :-)
--
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/