Hi Vincent, On 8 May 2014 11:43, tip-bot for Vincent Guittot <tipbot@xxxxxxxxx> wrote: > Commit-ID: 143e1e28cb40bed836b0a06567208bd7347c9672 > Gitweb: http://git.kernel.org/tip/143e1e28cb40bed836b0a06567208bd7347c9672 > Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> > AuthorDate: Fri, 11 Apr 2014 11:44:37 +0200 > Committer: Ingo Molnar <mingo@xxxxxxxxxx> > CommitDate: Wed, 7 May 2014 13:33:49 +0200 > > sched: Rework sched_domain topology definition > > We replace the old way to configure the scheduler topology with a new method > which enables a platform to declare additionnal level (if needed). > > We still have a default topology table definition that can be used by platform > that don't want more level than the SMT, MC, CPU and NUMA ones. This table can > be overwritten by an arch which either wants to add new level where a load > balance make sense like BOOK or powergating level or wants to change the flags > configuration of some levels. > > For each level, we need a function pointer that returns cpumask for each cpu, > a function pointer that returns the flags for the level and a name. Only flags > that describe topology, can be set by an architecture. The current topology > flags are: > > SD_SHARE_CPUPOWER > SD_SHARE_PKG_RESOURCES > SD_NUMA > SD_ASYM_PACKING > > Then, each level must be a subset on the next one. The build sequence of the > sched_domain will take care of removing useless levels like those with 1 CPU > and those with the same CPU span and no more relevant information for > load balancing than its children. > > Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> > Tested-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> > Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx> > Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> > Cc: Christoph Lameter <cl@xxxxxxxxx> > Cc: David S. Miller <davem@xxxxxxxxxxxxx> > Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Hanjun Guo <hanjun.guo@xxxxxxxxxx> > Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Cc: Jason Low <jason.low2@xxxxxx> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > Cc: Tony Luck <tony.luck@xxxxxxxxx> > Cc: linux390@xxxxxxxxxx > Cc: linux-ia64@xxxxxxxxxxxxxxx > Cc: linux-s390@xxxxxxxxxxxxxxx > Link: http://lkml.kernel.org/r/1397209481-28542-2-git-send-email-vincent.guittot@xxxxxxxxxx > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> > --- > arch/ia64/include/asm/topology.h | 24 ---- > arch/s390/include/asm/topology.h | 2 - > arch/tile/include/asm/topology.h | 33 ------ > include/linux/sched.h | 53 +++++++++ > include/linux/topology.h | 128 +++------------------ > kernel/sched/core.c | 233 ++++++++++++++++++++------------------- > 6 files changed, 186 insertions(+), 287 deletions(-) > diff --git a/include/linux/sched.h b/include/linux/sched.h > index 2a4298f..656b035 100644 > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -985,6 +1006,38 @@ void free_sched_domains(cpumask_var_t doms[], unsigned int ndoms); > > bool cpus_share_cache(int this_cpu, int that_cpu); > > +typedef const struct cpumask *(*sched_domain_mask_f)(int cpu); > +typedef const int (*sched_domain_flags_f)(void); I just noticed, since May 9th, linux-next (ARCH=metag, gcc 4.2.4, with meta2_smp_defconfig) is showing loads of warnings due to the above line: include/linux/sched.h +1010 : warning: type qualifiers ignored on function return type Looks to me that the const serves no purpose in this context and could be removed. Cheers James -- To unsubscribe from this list: send the line "unsubscribe linux-metag" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html