diff --git a/tools/perf/Documentation/perf-sched.txt b/tools/perf/Documentation/perf-sched.txt index a216d2991b19..74c812f7a4a4 100644 --- a/tools/perf/Documentation/perf-sched.txt +++ b/tools/perf/Documentation/perf-sched.txt @@ -64,8 +64,8 @@ There are several variants of 'perf sched': By default it shows the individual schedule events, including the wait time (time between sched-out and next sched-in events for the task), the - task scheduling delay (time between wakeup and actually running) and run - time for the task: + task scheduling delay (time between runnable and actually running) and + run time for the task: time cpu task name wait time sch delay run time [tid/pid] (msec) (msec) (msec) diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c index 8cdf18139a7e..aa59f763ca46 100644 --- a/tools/perf/builtin-sched.c +++ b/tools/perf/builtin-sched.c @@ -2659,7 +2659,10 @@ out: tr->last_state = state; /* sched out event for task so reset ready to run time */ - tr->ready_to_run = 0; + if (state == 'R') + tr->ready_to_run = t; + else + tr->ready_to_run = 0; } evsel__save_time(evsel, sample->time, sample->cpu);