[PATCH v4 1/5] sched: rework of sched_domain topology definition

Peter Zijlstra peterz at infradead.org
Fri Apr 18 03:56:01 PDT 2014


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 <vincent.guittot at linaro.org>
> Reviewed-by: Preeti U Murthy <preeti at linux.vnet.ibm.com>

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]




More information about the linux-arm-kernel mailing list