xen/sched: disable scheduling when entering ACPI deep sleep states
authorJuergen Gross <jgross@suse.com>
Wed, 2 Oct 2019 07:27:43 +0000 (09:27 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 4 Oct 2019 11:03:07 +0000 (13:03 +0200)
commitc5d54d93a00b842f54860c42ac16d8244fcf10b5
treebdd8547db0ba5fa4f399db32b57cd4a74fc84536
parentcb563d7665f2f369c2f784db9f665276e06245dc
xen/sched: disable scheduling when entering ACPI deep sleep states

When entering deep sleep states all domains are paused resulting in
all cpus only running idle vcpus. This enables us to stop scheduling
completely in order to avoid synchronization problems with core
scheduling when individual cpus are offlined.

Disabling the scheduler is done by replacing the softirq handler
with a dummy scheduling routine only enabling tasklets to run.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Dario Faggioli <dfaggioli@suse.com>
xen/arch/x86/acpi/power.c
xen/common/schedule.c
xen/include/xen/sched.h