diff options
author | Corey Minyard <cminyard@mvista.com> | 2014-05-08 13:47:39 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-05-22 11:16:35 +0200 |
commit | a803f0261bb2bb57aab5542af3174db43b2a3887 (patch) | |
tree | 305b9aeaf5c4ccdeba62c4f99461ade245fdd960 /kernel/sys.c | |
parent | 72465447867b9de6b5cdea5d10f9781585136270 (diff) | |
download | lwn-a803f0261bb2bb57aab5542af3174db43b2a3887.tar.gz lwn-a803f0261bb2bb57aab5542af3174db43b2a3887.zip |
sched: Initialize rq->age_stamp on processor start
If the sched_clock time starts at a large value, the kernel will spin
in sched_avg_update for a long time while rq->age_stamp catches up
with rq->clock.
The comment in kernel/sched/clock.c says that there is no strict promise
that it starts at zero. So initialize rq->age_stamp when a cpu starts up
to avoid this.
I was seeing long delays on a simulator that didn't start the clock at
zero. This might also be an issue on reboots on processors that don't
re-initialize the timer to zero on reset, and when using kexec.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1399574859-11714-1-git-send-email-minyard@acm.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/sys.c')
0 files changed, 0 insertions, 0 deletions