powerpc/smp: Move topology fixups into a new function
authorSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Mon, 10 Aug 2020 07:18:28 +0000 (12:48 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 16 Sep 2020 12:13:31 +0000 (22:13 +1000)
Move topology fixup based on the platform attributes into its own
function which is called just before set_sched_topology.

Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Reviewed-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200810071834.92514-5-srikar@linux.vnet.ibm.com
arch/powerpc/kernel/smp.c

index b12d143..9f4333d 100644 (file)
@@ -1363,6 +1363,16 @@ int setup_profiling_timer(unsigned int multiplier)
        return 0;
 }
 
+static void fixup_topology(void)
+{
+#ifdef CONFIG_SCHED_SMT
+       if (has_big_cores) {
+               pr_info("Big cores detected but using small core scheduling\n");
+               powerpc_topology[0].mask = smallcore_smt_mask;
+       }
+#endif
+}
+
 void __init smp_cpus_done(unsigned int max_cpus)
 {
        /*
@@ -1376,12 +1386,7 @@ void __init smp_cpus_done(unsigned int max_cpus)
 
        dump_numa_cpu_topology();
 
-#ifdef CONFIG_SCHED_SMT
-       if (has_big_cores) {
-               pr_info("Big cores detected but using small core scheduling\n");
-               powerpc_topology[0].mask = smallcore_smt_mask;
-       }
-#endif
+       fixup_topology();
        set_sched_topology(powerpc_topology);
 }