Re: [RFC PATCH v1 1/2] sched: unified sched_powersavings sysfstunable

From: Peter Zijlstra
Date: Fri Jan 27 2012 - 04:40:58 EST


On Fri, 2012-01-27 at 14:52 +0530, Vaidyanathan Srinivasan wrote:
> * Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> [2012-01-25 16:10:13]:
>
> > On Mon, 2012-01-16 at 21:52 +0530, Vaidyanathan Srinivasan wrote:
> > > @@ -6150,10 +6150,8 @@ SD_INIT_FUNC(CPU)
> > > SD_INIT_FUNC(ALLNODES)
> > > SD_INIT_FUNC(NODE)
> > > #endif
> > > -#ifdef CONFIG_SCHED_SMT
> > > +#ifdef CONFIG_SCHED_POWERSAVE
> > > SD_INIT_FUNC(SIBLING)
> > > -#endif
> > > -#ifdef CONFIG_SCHED_MC
> > > SD_INIT_FUNC(MC)
> > > #endif
> > > #ifdef CONFIG_SCHED_BOOK
> > > @@ -6250,7 +6248,7 @@ static void claim_allocations(int cpu, struct sched_domain *sd)
> > > *per_cpu_ptr(sdd->sgp, cpu) = NULL;
> > > }
> > >
> > > -#ifdef CONFIG_SCHED_SMT
> > > +#ifdef CONFIG_SCHED_POWERSAVE
> > > static const struct cpumask *cpu_smt_mask(int cpu)
> > > {
> > > return topology_thread_cpumask(cpu);
> > > @@ -6261,10 +6259,8 @@ static const struct cpumask *cpu_smt_mask(int cpu)
> > > * Topology list, bottom-up.
> > > */
> > > static struct sched_domain_topology_level default_topology[] = {
> > > -#ifdef CONFIG_SCHED_SMT
> > > +#ifdef CONFIG_SCHED_POWERSAVE
> > > { sd_init_SIBLING, cpu_smt_mask, },
> > > -#endif
> > > -#ifdef CONFIG_SCHED_MC
> > > { sd_init_MC, cpu_coregroup_mask, },
> > > #endif
> > > #ifdef CONFIG_SCHED_BOOK
> >
> > I don't like this either, SCHED_{MC,SMT} here have nothing to do with
> > powersavings, its topology support.
>
> Yes, but we don't need these domains for any other purpose other than
> powersave balance. The code overheads are not high, I will remove
> the config option and check.

Yes we do, SMT perf skips siblings and only loads them when there's only
siblings left idle. Similarly for MC, we prefer to run tasks on separate
sockets when possible.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/