lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.12 326/700] x86/hyperv: fix logical processor creation
    Date
    From: Praveen Kumar <kumarpraveen@linux.microsoft.com>

    [ Upstream commit 450605c28d571eddca39a65fdbc1338add44c6d9 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/kernel/cpu/mshyperv.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
    index e88bc296afca..a803fc423cb7 100644
    --- a/arch/x86/kernel/cpu/mshyperv.c
    +++ b/arch/x86/kernel/cpu/mshyperv.c
    @@ -245,7 +245,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);
    }

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 10:10    [W:4.022 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site