mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-09 07:14:48 +08:00
f6aa37c51e
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 |
||
---|---|---|
.. | ||
4xx | ||
8xx | ||
40x | ||
44x | ||
52xx | ||
82xx | ||
83xx | ||
85xx | ||
86xx | ||
512x | ||
amigaone | ||
book3s | ||
cell | ||
chrp | ||
embedded6xx | ||
maple | ||
microwatt | ||
pasemi | ||
powermac | ||
powernv | ||
ps3 | ||
pseries | ||
fsl_uli1575.c | ||
Kconfig | ||
Kconfig.cputype | ||
Makefile |