Commit 782daeee authored by Guillaume Chazarain's avatar Guillaume Chazarain Committed by Ingo Molnar

sched: fix rq->clock warps on frequency changes

sched: fix rq->clock warps on frequency changes

Fix 2bacec8c
(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: default avatarGuillaume Chazarain <guichaz@yahoo.fr>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4f05b98d
...@@ -858,7 +858,6 @@ void sched_clock_idle_wakeup_event(u64 delta_ns) ...@@ -858,7 +858,6 @@ void sched_clock_idle_wakeup_event(u64 delta_ns)
struct rq *rq = cpu_rq(smp_processor_id()); struct rq *rq = cpu_rq(smp_processor_id());
u64 now = sched_clock(); u64 now = sched_clock();
touch_softlockup_watchdog();
rq->idle_clock += delta_ns; rq->idle_clock += delta_ns;
/* /*
* Override the previous timestamp and ignore all * Override the previous timestamp and ignore all
...@@ -870,6 +869,7 @@ void sched_clock_idle_wakeup_event(u64 delta_ns) ...@@ -870,6 +869,7 @@ void sched_clock_idle_wakeup_event(u64 delta_ns)
rq->prev_clock_raw = now; rq->prev_clock_raw = now;
rq->clock += delta_ns; rq->clock += delta_ns;
spin_unlock(&rq->lock); spin_unlock(&rq->lock);
touch_softlockup_watchdog();
} }
EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event); EXPORT_SYMBOL_GPL(sched_clock_idle_wakeup_event);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment