summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPraveen Kumar <kumarpraveen@linux.microsoft.com>2021-05-31 13:10:46 +0530
committerWei Liu <wei.liu@kernel.org>2021-06-02 15:13:20 +0000
commit450605c28d571eddca39a65fdbc1338add44c6d9 (patch)
treef0519d7221dcc656dac9e26242a50ce769b23676
parentc6a8625fa4c6b0a97860d053271660ccedc3d1b3 (diff)
downloadlinux-450605c28d571eddca39a65fdbc1338add44c6d9.tar.bz2
x86/hyperv: fix logical processor creation
Microsoft Hypervisor expects the logical processor index to be the same as CPU's index during logical processor creation. Using cpu_physical_id confuses hypervisor's scheduler. That causes the root partition not boot when core scheduler is used. This patch removes the call to cpu_physical_id and uses the CPU index directly for bringing up logical processor. This scheme works for both classic scheduler and core scheduler. Fixes: 333abaf5abb3 (x86/hyperv: implement and use hv_smp_prepare_cpus) Signed-off-by: Praveen Kumar <kumarpraveen@linux.microsoft.com> Link: https://lore.kernel.org/r/20210531074046.113452-1-kumarpraveen@linux.microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
-rw-r--r--arch/x86/kernel/cpu/mshyperv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 22f13343b5da..4fa0a4280895 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -236,7 +236,7 @@ static void __init hv_smp_prepare_cpus(unsigned int max_cpus)
for_each_present_cpu(i) {
if (i == 0)
continue;
- ret = hv_call_add_logical_proc(numa_cpu_node(i), i, cpu_physical_id(i));
+ ret = hv_call_add_logical_proc(numa_cpu_node(i), i, i);
BUG_ON(ret);
}