On 08/08/2024 2:30 pm, Jan Beulich wrote: > Downing CPUs for S3 is somewhat special: Since we can expect the system > to come back up in exactly the same hardware configuration, per-CPU data > for the secondary CPUs isn't de-allocated (and then cleared upon re- > allocation when the CPUs are being brought back up). Therefore the > cluster_cpus per-CPU pointer will retain its value for all CPUs other > than the final one in a cluster (i.e. in particular for all CPUs in the > same cluster as CPU0). That, however, is in conflict with the assertion > early in init_apic_ldr_x2apic_cluster(). > > Note that the issue is avoided on Intel hardware, where we park CPUs > instead of bringing them down. > > Extend the bypassing of the freeing to the suspend case, thus making > suspend/resume also a tiny bit faster. > > Fixes: 2e6c8f182c9c ("x86: distinguish CPU offlining from CPU removal") > Reported-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> > Signed-off-by: Jan Beulich <jbeul...@suse.com> > Tested-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com>
Acked-by: Andrew Cooper <andrew.coop...@citrix.com>