File 67acb685-x86-SMP-disable-IRQs-ahead-of-AP-shutdown.patch of Package xen.37689
References: bsc#1233796
# Commit db6daa9bf411260d2c1f5301e4fc786ae4a5cef8
# Date 2025-02-12 15:56:07 +0100
# Author Roger Pau Monne <roger.pau@citrix.com>
# Committer Roger Pau Monne <roger.pau@citrix.com>
x86/smp: perform disabling on interrupts ahead of AP shutdown
Move the disabling of interrupt sources so it's done ahead of the offlining
of APs. This is to prevent AMD systems triggering "Receive accept error"
when interrupts target CPUs that are no longer online.
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -372,6 +372,8 @@ void smp_send_stop(void)
smp_call_function(stop_this_cpu, &stop_aps, 0);
local_irq_disable();
+ disable_IO_APIC();
+ hpet_disable();
if ( num_online_cpus() > 1 )
{
@@ -387,8 +389,6 @@ void smp_send_stop(void)
if ( cpu_online(cpu) )
{
- disable_IO_APIC();
- hpet_disable();
__stop_this_cpu();
x2apic_enabled = (current_local_apic_mode() == APIC_MODE_X2APIC);
}