• Steven Rostedt's avatar
    tracing: Fix sleep time function profiling · 37e44bc5
    Steven Rostedt authored
    When sleep_time is off the function profiler ignores the time that a task
    is scheduled out. When the task is scheduled out a timestamp is taken.
    When the task is scheduled back in, the timestamp is compared to the
    current time and the saved calltimes are adjusted accordingly.
    
    But when stopping the function profiler, the sched switch hook that
    does this adjustment was stopped before shutting down the tracer.
    This allowed some tasks to not get their timestamps set when they
    scheduled out. When the function profiler started again, this would
    skew the times of the scheduler functions.
    
    This patch moves the stopping of the sched switch to after the function
    profiler is stopped. It also ignores zero set calltimes, which may
    happen on start up.
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    37e44bc5
ftrace.c 71.2 KB