diff options
author | Guillaume Chazarain <guichaz@yahoo.fr> | 2008-01-25 21:08:33 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-25 21:08:33 +0100 |
commit | 782daeee3d596282bfee4cd9e976c86be0e194a8 (patch) | |
tree | 7f831f365ba3f9f9b8f10572b858eb231864dde0 /kernel/sched.c | |
parent | 4f05b98d54b140ed3c5851d5d5156e9918c6305d (diff) | |
download | linux-782daeee3d596282bfee4cd9e976c86be0e194a8.tar.gz linux-782daeee3d596282bfee4cd9e976c86be0e194a8.tar.bz2 linux-782daeee3d596282bfee4cd9e976c86be0e194a8.zip |
sched: fix rq->clock warps on frequency changes
sched: fix rq->clock warps on frequency changes
Fix 2bacec8c318ca0418c0ee9ac662ee44207765dd4
(sched: touch softlockup watchdog after idling) that reintroduced warps
on frequency changes. touch_softlockup_watchdog() calls __update_rq_clock
that checks rq->clock for warps, so call it after adjusting rq->clock.
Signed-off-by: Guillaume Chazarain <guichaz@yahoo.fr>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 629614ad0358..3995d1679858 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -858,7 +858,6 @@ void sched_clock_idle_wakeup_event(u64 delta_ns) struct rq *rq = cpu_rq(smp_processor_id()); u64 now = sched_clock(); - touch_softlockup_watchdog(); rq->idle_clock += delta_ns; /* * Override the previous timestamp and ignore all @@ -870,6 +869,7 @@ void sched_clock_idle_wakeup_event(u64 delta_ns) rq->prev_clock_raw = now; rq->clock += delta_ns; spin_unlock(&rq->lock); + touch_softlockup_watchdog(); } EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event); |