Patch "riscv: Move call to init_cpu_topology() to later initialization stage" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    riscv: Move call to init_cpu_topology() to later initialization stage

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     riscv-move-call-to-init_cpu_topology-to-later-initia.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b47702535ae5aa41faac16ff54e38d053d0fe78b
Author: Ley Foon Tan <leyfoon.tan@xxxxxxxxxxxxxxxx>
Date:   Thu Jan 5 11:37:05 2023 +0800

    riscv: Move call to init_cpu_topology() to later initialization stage
    
    [ Upstream commit c1d6105869464635d8a2bcf87a43c05f4c0cfca4 ]
    
    If "capacity-dmips-mhz" is present in a CPU DT node,
    topology_parse_cpu_capacity() will fail to allocate memory.  arm64, with
    which this code path is shared, does not call
    topology_parse_cpu_capacity() until later in boot where memory
    allocation is available.  While "capacity-dmips-mhz" is not yet a valid
    property on RISC-V, invalid properties should be ignored rather than
    cause issues.  Move init_cpu_topology(), which calls
    topology_parse_cpu_capacity(), to a later initialization stage, to match
    arm64.
    
    As a side effect of this change, RISC-V is "protected" from changes to
    core topology code that would work on arm64 where memory allocation is
    safe but on RISC-V isn't.
    
    Fixes: 03f11f03dbfe ("RISC-V: Parse cpu topology during boot.")
    Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
    Reviewed-by: Andrew Jones <ajones@xxxxxxxxxxxxxxxx>
    Signed-off-by: Ley Foon Tan <leyfoon.tan@xxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230105033705.3946130-1-leyfoon.tan@xxxxxxxxxxxxxxxx
    [Palmer: use Conor's commit text]
    Link: https://lore.kernel.org/linux-riscv/20230104183033.755668-1-pierre.gondois@xxxxxxx/T/#me592d4c8b9508642954839f0077288a353b0b9b2
    Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
index 3373df413c88..ddb2afba6d25 100644
--- a/arch/riscv/kernel/smpboot.c
+++ b/arch/riscv/kernel/smpboot.c
@@ -39,7 +39,6 @@ static DECLARE_COMPLETION(cpu_running);
 
 void __init smp_prepare_boot_cpu(void)
 {
-	init_cpu_topology();
 }
 
 void __init smp_prepare_cpus(unsigned int max_cpus)
@@ -48,6 +47,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
 	int ret;
 	unsigned int curr_cpuid;
 
+	init_cpu_topology();
+
 	curr_cpuid = smp_processor_id();
 	store_cpu_topology(curr_cpuid);
 	numa_store_cpu_info(curr_cpuid);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux