]> xenbits.xensource.com Git - xen.git/commit
x86/idle: re-arrange dead-idle handling
authorJan Beulich <jbeulich@suse.com>
Tue, 21 May 2019 06:30:23 +0000 (08:30 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 21 May 2019 06:30:23 +0000 (08:30 +0200)
commit73cb1383bf8d9712c2df4a7bc50210d5f7cf0900
tree2ab836b1e0548fa06615710a55b4c2c1b2c7b932
parentde4de7910019629307796e07a947f9b3fa3a6130
x86/idle: re-arrange dead-idle handling

In order to be able to wake parked CPUs from default_dead_idle() (for
them to then enter a different dead-idle routine), the function should
not itself loop. Move the loop into play_dead(), and use play_dead() as
well on the AP boot error path.

Furthermore, not the least considering the comment in play_dead(),
make sure NMI raised (for now this would be a bug elsewhere, but that's
about to change) against a parked or fully offline CPU won't invoke the
actual, full-blown NMI handler.

Note however that this doesn't make #MC any safer for fully offline
CPUs.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/domain.c
xen/arch/x86/smpboot.c
xen/include/asm-x86/cpuidle.h