Skip to content

Updates for powerpc/pseries: hotplug cpu

Mamatha Inamdar requested to merge mainamdar/centos-stream-9:bz2166730 into main

Bugzilla: https://bugzilla.redhat.com/2166730

Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=51161129

Tested: Verified Brew build test kernel RPMs and confirmed issue is resovled

Signed-off-by: Mamatha Inamdar minamdar@redhat.com

commit f6aa37c51ec0d053ee34c235bfe0e666618a3baf Author: Laurent Dufour ldufour@linux.ibm.com Date: Mon Nov 14 17:01:50 2022 +0100

powerpc/pseries: unregister VPA when hot unplugging a CPU

The VPA should unregister when offlining a CPU. Otherwise there could be
a short window where 2 CPUs could share the same VPA.

This happens because the hypervisor is still keeping the VPA attached to
the vCPU even if it became offline.

Here is a potential situation:
 1. remove proc A,
 2. add proc B. If proc B gets proc A's place in cpu_present_mask, then
    it registers proc A's VPAs.
 3. If proc B is then re-added to the LP, its threads are sharing VPAs
    with proc A briefly as they come online.

As the hypervisor may check for the VPA's yield_count field oddity, it
may detect an unexpected value and kill the LPAR.

Suggested-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
Reviewed-by: Nathan Lynch <nathanl@linux.ibm.com>
[mpe: s/cpu_present_map/cpu_present_mask/ in change log]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221114160150.13554-1-ldufour@linux.ibm.com

Signed-off-by: Mamatha Inamdar minamdar@redhat.com

Merge request reports