Re: [PATCH 1/2] sched/topology: build_sched_groups: Skip duplicate group rewrites

2019-04-10 Thread Qais Yousef
On 04/10/19 11:17, Valentin Schneider wrote: > On 10/04/2019 10:27, Qais Yousef wrote: > [...] > >> @@ -1066,9 +1067,14 @@ static struct sched_group *get_group(int cpu, > >> struct sd_data *sdd) > >>sg = *per_cpu_ptr(sdd->sg, cpu); > >>sg->sgc = *per_cpu_ptr(sdd->sgc, cpu); > >> > >> -

Re: [PATCH 1/2] sched/topology: build_sched_groups: Skip duplicate group rewrites

2019-04-10 Thread Valentin Schneider
On 10/04/2019 10:27, Qais Yousef wrote: [...] >> @@ -1066,9 +1067,14 @@ static struct sched_group *get_group(int cpu, struct >> sd_data *sdd) >> sg = *per_cpu_ptr(sdd->sg, cpu); >> sg->sgc = *per_cpu_ptr(sdd->sgc, cpu); >> >> -/* For claim_allocations: */ >> -atomic_inc(&sg->re

Re: [PATCH 1/2] sched/topology: build_sched_groups: Skip duplicate group rewrites

2019-04-10 Thread Qais Yousef
On 04/09/19 18:35, Valentin Schneider wrote: > While staring at build_sched_domains(), I realized that get_group() > does several duplicate (thus useless) writes. > > If you take the Arm Juno r0 (LITTLEs = [0, 3, 4, 5], bigs = [1, 2]), the > sched_group build flow would look like this: > > ('MC[c

[PATCH 1/2] sched/topology: build_sched_groups: Skip duplicate group rewrites

2019-04-09 Thread Valentin Schneider
While staring at build_sched_domains(), I realized that get_group() does several duplicate (thus useless) writes. If you take the Arm Juno r0 (LITTLEs = [0, 3, 4, 5], bigs = [1, 2]), the sched_group build flow would look like this: ('MC[cpu]->sg' means 'per_cpu_ptr(&tl->data->sg, cpu)' with 'tl =