diff options
| author | Hao Jia <[email protected]> | 2023-06-13 08:20:09 +0000 |
|---|---|---|
| committer | Peter Zijlstra <[email protected]> | 2023-06-16 20:08:12 +0000 |
| commit | cab3ecaed5cdcc9c36a96874b4c45056a46ece45 (patch) | |
| tree | 3035cb97a2293a9453f4c528551e3205a940c9e0 /drivers/clocksource/hyperv_timer.c | |
| parent | sched/deadline: Update GRUB description in the documentation (diff) | |
| download | kernel-cab3ecaed5cdcc9c36a96874b4c45056a46ece45.tar.gz kernel-cab3ecaed5cdcc9c36a96874b4c45056a46ece45.zip | |
sched/core: Fixed missing rq clock update before calling set_rq_offline()
When using a cpufreq governor that uses
cpufreq_add_update_util_hook(), it is possible to trigger a missing
update_rq_clock() warning for the CPU hotplug path:
rq_attach_root()
set_rq_offline()
rq_offline_rt()
__disable_runtime()
sched_rt_rq_enqueue()
enqueue_top_rt_rq()
cpufreq_update_util()
data->func(data, rq_clock(rq), flags)
Move update_rq_clock() from sched_cpu_deactivate() (one of it's
callers) into set_rq_offline() such that it covers all
set_rq_offline() usage.
Additionally change rq_attach_root() to use rq_lock_irqsave() so that
it will properly manage the runqueue clock flags.
Suggested-by: Ben Segall <[email protected]>
Signed-off-by: Hao Jia <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Reviewed-by: Vincent Guittot <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/clocksource/hyperv_timer.c')
0 files changed, 0 insertions, 0 deletions
