lkml.org 
[lkml]   [2014]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: ftrace function-graph and interprocessor interrupts
Date


> -----Original Message-----
> From: Andi Kleen [mailto:andi@firstfloor.org]
> Sent: Wednesday, 24 September, 2014 4:50 PM
> To: Elliott, Robert (Server Storage)
> Cc: Steven Rostedt; linux-kernel@vger.kernel.org; Jens Axboe
> <axboe@kernel.dk> (axboe@kernel.dk); Christoph Hellwig
> Subject: Re: ftrace function-graph and interprocessor interrupts
>
> "Elliott, Robert (Server Storage)" <Elliott@hp.com> writes:
>
> > The function-graph tracer marks some interrupt handler functions
> > with ==========> and <========== labels.
>
> I'm not sure the marking is really that useful. Isn't it always obvious
> from the function names where an interrupt starts/end?
>
> -Andi

Although the do_IRQ name stands out pretty well, some of the
others don't, and blk-mq calling them directly makes it hard
to tell. They show up clearly in the function trace, just
not the function_graph trace.

Also, the IPI function can end up nested inside { } but
without indents, depending on when it occurs.

10) | sd_setup_read_write_cmnd [sd_mod]() {
10) | smp_call_function_single_interrupt() {
10) | irq_enter() {
...
10) + 36.788 us | } /* smp_call_function_single_interrupt */
10) | scsi_init_io() {

The ==> labels also add an indent level.

I'd like to add an option to exclude the time taken by interrupts
in the cumulative times, but that first requires that function_graph
understand what times to exclude.



\
 
 \ /
  Last update: 2014-09-25 00:41    [W:0.079 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site