diff options
author | Srikar Dronamraju <srikar@linux.vnet.ibm.com> | 2020-08-10 09:18:28 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2020-09-16 14:13:31 +0200 |
commit | 3c6032a8fe99547d31b2b57715e303a67d1b0c66 (patch) | |
tree | e64c06f782aea5517ac57fd1e1254dd870758105 /arch | |
parent | powerpc/smp: Move powerpc_topology above (diff) | |
download | linux-3c6032a8fe99547d31b2b57715e303a67d1b0c66.tar.xz linux-3c6032a8fe99547d31b2b57715e303a67d1b0c66.zip |
powerpc/smp: Move topology fixups into a new function
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
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/kernel/smp.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index b12d143c7104..9f4333d0748b 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -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); } |