sched: monitor clock underflows in /proc/sched_debug
We monitor clock overflows, let's also monitor clock underflows. Signed-off-by: Guillaume Chazarain <guichaz@yahoo.fr> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
782daeee3d
commit
cc203d2422
@ -465,7 +465,7 @@ struct rq {
|
|||||||
u64 clock, prev_clock_raw;
|
u64 clock, prev_clock_raw;
|
||||||
s64 clock_max_delta;
|
s64 clock_max_delta;
|
||||||
|
|
||||||
unsigned int clock_warps, clock_overflows;
|
unsigned int clock_warps, clock_overflows, clock_underflows;
|
||||||
u64 idle_clock;
|
u64 idle_clock;
|
||||||
unsigned int clock_deep_idle_events;
|
unsigned int clock_deep_idle_events;
|
||||||
u64 tick_timestamp;
|
u64 tick_timestamp;
|
||||||
@ -3736,8 +3736,10 @@ void scheduler_tick(void)
|
|||||||
/*
|
/*
|
||||||
* Let rq->clock advance by at least TICK_NSEC:
|
* 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 = next_tick;
|
||||||
|
rq->clock_underflows++;
|
||||||
|
}
|
||||||
rq->tick_timestamp = rq->clock;
|
rq->tick_timestamp = rq->clock;
|
||||||
update_cpu_load(rq);
|
update_cpu_load(rq);
|
||||||
curr->sched_class->task_tick(rq, curr, 0);
|
curr->sched_class->task_tick(rq, curr, 0);
|
||||||
|
@ -179,6 +179,7 @@ static void print_cpu(struct seq_file *m, int cpu)
|
|||||||
PN(prev_clock_raw);
|
PN(prev_clock_raw);
|
||||||
P(clock_warps);
|
P(clock_warps);
|
||||||
P(clock_overflows);
|
P(clock_overflows);
|
||||||
|
P(clock_underflows);
|
||||||
P(clock_deep_idle_events);
|
P(clock_deep_idle_events);
|
||||||
PN(clock_max_delta);
|
PN(clock_max_delta);
|
||||||
P(cpu_load[0]);
|
P(cpu_load[0]);
|
||||||
|
Loading…
Reference in New Issue
Block a user