On Fri, Apr 11, 2014 at 11:44:37AM +0200, Vincent Guittot wrote: > 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 childs. > > Signed-off-by: Vincent Guittot <[email protected]> > Reviewed-by: Preeti U Murthy <[email protected]>
On x86_64 defconfig this gets me: kernel/sched/core.c: In function 'sched_init_numa': kernel/sched/core.c:6197:4: warning: initialization makes pointer from integer without a cast [enabled by default] kernel/sched/core.c:6197:4: warning: (near initialization for '(anonymous).sd_flags') [enabled by default] -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

