mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-07 15:18:15 +00:00
sched: fix rq->clock warps on frequency changes
sched: fix rq->clock warps on frequency changes
Fix 2bacec8c31
(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>
This commit is contained in:
parent
4f05b98d54
commit
782daeee3d
1 changed files with 1 additions and 1 deletions
|
@ -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)
|
||||||
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);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue