diff --git a/[refs] b/[refs] index 20327608cceb..b90d18b6b6f7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 782daeee3d596282bfee4cd9e976c86be0e194a8 +refs/heads/master: cc203d2422004498909c4886d1b94a2e388d973e diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 3995d1679858..4d3a5a700866 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -465,7 +465,7 @@ struct rq { u64 clock, prev_clock_raw; s64 clock_max_delta; - unsigned int clock_warps, clock_overflows; + unsigned int clock_warps, clock_overflows, clock_underflows; u64 idle_clock; unsigned int clock_deep_idle_events; u64 tick_timestamp; @@ -3736,8 +3736,10 @@ void scheduler_tick(void) /* * Let rq->clock advance by at least TICK_NSEC: */ - if (unlikely(rq->clock < next_tick)) + if (unlikely(rq->clock < next_tick)) { rq->clock = next_tick; + rq->clock_underflows++; + } rq->tick_timestamp = rq->clock; update_cpu_load(rq); curr->sched_class->task_tick(rq, curr, 0); diff --git a/trunk/kernel/sched_debug.c b/trunk/kernel/sched_debug.c index 80fbbfc04290..9e5de098d471 100644 --- a/trunk/kernel/sched_debug.c +++ b/trunk/kernel/sched_debug.c @@ -179,6 +179,7 @@ static void print_cpu(struct seq_file *m, int cpu) PN(prev_clock_raw); P(clock_warps); P(clock_overflows); + P(clock_underflows); P(clock_deep_idle_events); PN(clock_max_delta); P(cpu_load[0]);