smp_store_cpu_info() doesn't call identify_cpu() again during S3 resume, hence it is wrong to zap APs' data while bringing them down (and we're not just parking them there) during suspend.
Fixes: 7126b7f806d5 ("x86/CPU: re-work populating of cpu_data[]") Signed-off-by: Jan Beulich <jbeul...@suse.com> --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -982,7 +982,8 @@ static void cpu_smpboot_free(unsigned in if ( remove ) { - reset_cpuinfo(&c[cpu], false); + if ( system_state != SYS_STATE_suspend ) + reset_cpuinfo(&c[cpu], false); FREE_CPUMASK_VAR(per_cpu(cpu_sibling_mask, cpu)); FREE_CPUMASK_VAR(per_cpu(cpu_core_mask, cpu));