On 12/2/13, 2:33 AM, Pekka Enberg wrote:
I'm seeing rather large "sch delay" numbers on Fedora 19's default
kernel that seem like a data error of some sort:

     4500.663117 [02] fix_client[7216]         0.007
18446744073708.033     1.786


Does this address the large numbers for you?

David
diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
index abcb40a44151..ae71782064ac 100644
--- a/tools/perf/builtin-sched.c
+++ b/tools/perf/builtin-sched.c
@@ -1751,8 +1751,12 @@ static void timehist_update_runtime_stats(struct 
thread_runtime *r,
        r->dt_between = 0;
        if (tprev) {
                r->dt_run = t - tprev;
-               if (r->ready_to_run)
-                       r->dt_delay = tprev - r->ready_to_run;
+               if (r->ready_to_run) {
+                       if (r->ready_to_run > tprev)
+                               pr_debug("time travel: wakeup time for task > 
previous sched_switch event\n");
+                       else
+                               r->dt_delay = tprev - r->ready_to_run;
+               }
 
                if (r->last_time > tprev)
                        pr_debug("time travel: last sched out time for task > 
previous sched_switch event\n");

Reply via email to