Re: Plumbers: Tweaking scheduler policy micro-conf RFP

From: Vaidyanathan Srinivasan
Date: Wed May 16 2012 - 14:50:18 EST


* Peter Zijlstra <peterz@xxxxxxxxxxxxx> [2012-05-15 17:35:41]:

> On Tue, 2012-05-15 at 17:05 +0200, Vincent Guittot wrote:
> > On 15 May 2012 15:00, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> > > On Tue, 2012-05-15 at 14:57 +0200, Vincent Guittot wrote:

[snip]

> But really short, look at kernel/sched/core.c:default_topology[]
>
> I'd like to get rid of sd_init_* into a single function like
> sd_numa_init(), this would mean all archs would need to do is provide a
> simple list of ever increasing masks that match their topology.

You are suggesting that the archs will provide sched/core a list of
masks equivalent to the number of sched domain levels that we need to
build. The SDTL_SHARE_XXX flag will also be passed per mask in order
to decide the SD flags for that domain.

> To aid this we can add some SDTL_flags, initially I was thinking of:
>
> SDTL_SHARE_CORE -- aka SMT
> SDTL_SHARE_CACHE -- LLC cache domain (typically multi-core)
> SDTL_SHARE_MEMORY -- NUMA-node (typically socket)
>
> The 'performance' policy is typically to spread over shared resources so
> as to minimize contention on these.
>
> If you want to add some power we need some extra flags, maybe something
> like:
>
> SDTL_SHARE_POWERLINE -- power domain (typically socket)

Let me take a case of two-socket,quad-core,HT x86 (Nehalem):

SDTL_SHARE_POWERLINE should be passed along with a cpumask that
represents sd_init_CPU or cpu_cpu_mask today. So the number of
domains we build per-cpu will depend on the topology and the
sched_powersavings settings.

--Vaidy

--
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/