• Steven Rostedt's avatar
    function-graph: ignore times across schedule · 8aef2d28
    Steven Rostedt authored
    Impact: more accurate timings
    
    The current method of function graph tracing does not take into
    account the time spent when a task is not running. This shows functions
    that call schedule have increased costs:
    
     3) + 18.664 us   |      }
     ------------------------------------------
     3)    <idle>-0    =>  kblockd-123
     ------------------------------------------
    
     3)               |      finish_task_switch() {
     3)   1.441 us    |        _spin_unlock_irq();
     3)   3.966 us    |      }
     3) ! 2959.433 us |    }
     3) ! 2961.465 us |  }
    
    This patch uses the tracepoint in the scheduling context switch to
    account for time that has elapsed while a task is scheduled out.
    Now we see:
    
     ------------------------------------------
     3)    <idle>-0    =>  edac-po-1067
     ------------------------------------------
    
     3)               |      finish_task_switch() {
     3)   0.685 us    |        _spin_unlock_irq();
     3)   2.331 us    |      }
     3) + 41.439 us   |    }
     3) + 42.663 us   |  }
    Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
    8aef2d28
ftrace.c 56.4 KB