Re: [PATCH 04/11] powerpc/smp: Enable small core scheduling sooner
flat view
From: Srikar Dronamraju <hidden>
Date: 2020-07-20 07:22:49
* Gautham R Shenoy [off-list ref] [2020-07-17 11:18:21]:
On Tue, Jul 14, 2020 at 10:06:17AM +0530, Srikar Dronamraju wrote:quoted
Enable small core scheduling as soon as we detect that we are in a system that supports thread group. Doing so would avoid a redundant check. Cc: linuxppc-dev <redacted> Cc: Michael Ellerman <redacted> Cc: Nick Piggin <redacted> Cc: Oliver OHalloran <redacted> Cc: Nathan Lynch <redacted> Cc: Michael Neuling <redacted> Cc: Anton Blanchard <redacted> Cc: Gautham R Shenoy <redacted> Cc: Vaidyanathan Srinivasan <redacted> Signed-off-by: Srikar Dronamraju <redacted>I don't see a problem with this. However, since we are now going to be maintaining a single topology structure, wouldn't it be better to collate all the changes being made to the mask_functions/flags/names of this structure within a single function so that it becomes easier to keep track of what all changes are going into the topology and why are we doing it?
My intent was to move the topology updates early as soon as they are detected. Currently the shared_cache want cannot be detected early. But I think its possible to detect shared_cache early with some cleanups. And if we do, then we should be able to call this up pretty early.
quoted
--- arch/powerpc/kernel/smp.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 24529f6134aa..7d430fc536cc 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c@@ -892,6 +892,12 @@ static int init_big_cores(void) } has_big_cores = true; + +#ifdef CONFIG_SCHED_SMT + pr_info("Big cores detected. Using small core scheduling\n"); + powerpc_topology[0].mask = smallcore_smt_mask; +#endif + return 0; }@@ -1383,12 +1389,6 @@ 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 set_sched_topology(powerpc_topology); }-- 2.17.1
-- Thanks and Regards Srikar Dronamraju