xen/sched: fix get_cpu_idle_time() for smt=0 suspend/resume
authorJuergen Gross <jgross@suse.com>
Wed, 25 Aug 2021 13:11:24 +0000 (15:11 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 25 Aug 2021 13:11:24 +0000 (15:11 +0200)
commitda7254738899da02049dce79bde5af8c27df2481
tree406e66662f9b9193ff50ec135cdc2df016dc0631
parent26b885cbdd2458b32434a4d20b921b49bd623adb
xen/sched: fix get_cpu_idle_time() for smt=0 suspend/resume

With smt=0 during a suspend/resume cycle of the machine the threads
which have been parked before will briefly come up again. This can
result in problems e.g. with cpufreq driver being active as this will
call into get_cpu_idle_time() for a cpu without initialized scheduler
data.

Fix that by letting get_cpu_idle_time() deal with this case. Drop a
redundant check in exchange.

Fixes: 132cbe8f35632fb2 ("sched: fix get_cpu_idle_time() with core scheduling")
Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Dario Faggioli <dfaggioli@suse.com>
master commit: 5293470a77ad980dce2af9b7e6c3f11eeebf1b64
master date: 2021-08-19 13:38:31 +0200
xen/common/sched/core.c