From: Roman Kisel <rom...@linux.microsoft.com> Sent: Monday, April 28, 2025 11:27 AM > > To start an application processor in SNP-isolated guest, a hypercall > is used that takes a virtual processor index. The hv_snp_boot_ap() > function uses that START_VP hypercall but passes as VP index to it > what it receives as a wakeup_secondary_cpu_64 callback: the APIC ID. > > As those two aren't generally interchangeable, that may lead to hung > APs if the VP index and the APIC ID don't match up. > > Update the parameter names to avoid confusion as to what the parameter > is. Use the APIC ID to the VP index conversion to provide the correct > input to the hypercall. > > Cc: sta...@vger.kernel.org > Fixes: 44676bb9d566 ("x86/hyperv: Add smp support for SEV-SNP guest") > Signed-off-by: Roman Kisel <rom...@linux.microsoft.com> > --- > [V3] > - Removed the misleading comment about the APIC ID and VP indices. > - Removed the not sufficiently founded if statement that was added > to the previous version of the patch to avoid the O(n) time > complexity. > I'll follow up with a separate patch to address that as that pattern > has crept into other places in the code in the AP wakeup path. > - Fixed the logging message to use the "VP index" terminology > consistently. > ** Thank you, Michael! ** > > [V2] > > https://lore.kernel.org/linux-hyperv/20250425213512.1837061-1-rom...@linux.microsoft.com/ > - Fixed the terminology in the patch and other code to use > the term "VP index" consistently > ** Thank you, Michael! ** > > - Missed not enabling the SNP-SEV options in the local testing, > and sent a patch that breaks the build. > ** Thank you, Saurabh! ** > > - Added comments and getting the Linux kernel CPU number from > the available data. > > [V1] > > https://lore.kernel.org/linux-hyperv/20250424215746.467281-1-rom...@linux.microsoft.com/ > --- > arch/x86/hyperv/hv_init.c | 33 +++++++++++++++++++++++++ > arch/x86/hyperv/hv_vtl.c | 44 +++++---------------------------- > arch/x86/hyperv/ivm.c | 22 +++++++++++++++-- > arch/x86/include/asm/mshyperv.h | 6 +++-- > include/hyperv/hvgdk_mini.h | 2 +- > 5 files changed, 64 insertions(+), 43 deletions(-)
Thanks for fixing the terminology, in addition to fixing the bug that is your original purpose for the patch. Reviewed-by: Michael Kelley <mhkli...@outlook.com>