From: Andreas Herrmann <andreas.herrmann3@amd.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/12] cleanup __build_sched_domains()
Date: Tue, 18 Aug 2009 15:15:58 +0200 [thread overview]
Message-ID: <20090818131558.GO29515@alberich.amd.com> (raw)
In-Reply-To: <20090818111644.GA23983@elte.hu>
On Tue, Aug 18, 2009 at 01:16:44PM +0200, Ingo Molnar wrote:
>
> * Andreas Herrmann <andreas.herrmann3@amd.com> wrote:
>
> > Hi,
> >
> > Following patches try to make __build_sched_domains() less ugly
> > and more readable. They shouldn't be harmful. Thus I think they
> > can be applied for .32.
> >
> > Patches are against tip/master as of today.
> >
> > FYI, I need those patches as a base for introducing a new domain
> > level for multi-node CPUs for which I intend to sent patches as
> > RFC asap.
>
> Very nice cleanups!
>
> Magny-Cours indeed will need one more sched-domains level,
> something like:
>
> [smt thread]
> core
> internal numa node
> cpu socket
> external numa node
My current approach is to have the numa node domain either below CPU
(in case of multi-cpu node where SRAT describes each internal node as
a NUMA node) or as is, as the top-level domain (e.g. in case of node
interleaving or missing/broken ACPI SRAT detection).
Sched domain levels (note SMT==SIBLING, NODE==NUMA) are:
(1) groups in NUMA domain are subsets of groups in CPU domain
(2) groups in NUMA domain are supersets groups in CPU domain
(1) | (2)
------------|-------------------
SMT | SMT
MC | MC
MN (new) | MN
NUMA | CPU
CPU | NUMA
I'll also introduce a new parameter sched_mn_power_savings which will
cause that tasks are scheduled on one socket until its capacity is
reached. If capacity is reached other sockets can also be occupied.
> ... which is certainly interesting, especially since the hierarchy
> possibly 'crosses', i.e. we might have the two internal numa nodes
> share a L2 or L3 cache, right?
> I'd also not be surprised if the load-balancer needed some care to
> properly handle such a setup.
It needs some care and gave me some headache to get it working in all
cases (i.e. NUMA, no-NUMA, NUMA-but-no-SRAT). My current code (that
still needs to be split in proper patches for submission) works fine
in all but one case. And I am still debugging it.
The case that is not working is a normal (non-multi-node) NUMA system
on which switching to power policy does not take effect for already
running tasks. Just the new created ones are scheduled according to
the power policy.
> It's all welcome work in any case, and for .32.
Thanks,
Andreas
--
Operating | Advanced Micro Devices GmbH
System | Karl-Hammerschmidt-Str. 34, 85609 Dornach b. München, Germany
Research | Geschäftsführer: Thomas M. McCoy, Giuliano Meroni
Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis München
(OSRC) | Registergericht München, HRB Nr. 43632
next prev parent reply other threads:[~2009-08-18 13:16 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-18 10:49 [PATCH 0/12] cleanup __build_sched_domains() Andreas Herrmann
2009-08-18 10:51 ` [PATCH 01/12] sched: Use structure to store local data in __build_sched_domains Andreas Herrmann
2009-08-18 16:51 ` [tip:sched/domains] " tip-bot for Andreas Herrmann
2009-08-18 10:53 ` [PATCH 02/12] sched: Separate out allocation/free/goto-hell from __build_sched_domains Andreas Herrmann
2009-08-18 12:57 ` Peter Zijlstra
2009-08-18 13:35 ` Andreas Herrmann
2009-08-18 16:52 ` [tip:sched/domains] " tip-bot for Andreas Herrmann
2009-08-18 10:54 ` [PATCH 03/12] sched: Seperate out build of NUMA sched domain " Andreas Herrmann
2009-08-18 16:52 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:54 ` [PATCH 04/12] sched: Seperate out build of CPU " Andreas Herrmann
2009-08-18 16:52 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:56 ` [PATCH 05/12] sched: Seperate out build of MC " Andreas Herrmann
2009-08-18 16:52 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:57 ` [PATCH 06/12] sched: Seperate out build of SMT " Andreas Herrmann
2009-08-18 16:52 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:57 ` [PATCH 07/12] sched: Seperate out build of SMT sched groups " Andreas Herrmann
2009-08-18 16:53 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:58 ` [PATCH 08/12] sched: Seperate out build of MC " Andreas Herrmann
2009-08-18 16:53 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 10:59 ` [PATCH 09/12] sched: Seperate out build of CPU " Andreas Herrmann
2009-08-18 16:53 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 11:00 ` [PATCH 10/12] sched: Seperate out build of ALLNODES " Andreas Herrmann
2009-08-18 16:53 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 11:01 ` [PATCH 11/12] sched: Seperate out build of NUMA " Andreas Herrmann
2009-08-18 16:53 ` [tip:sched/domains] sched: Separate " tip-bot for Andreas Herrmann
2009-08-18 11:02 ` [PATCH 12/12] sched: Consolidate definition of variable sd in __build_sched_domains Andreas Herrmann
2009-08-18 16:54 ` [tip:sched/domains] " tip-bot for Andreas Herrmann
2009-08-18 11:16 ` [PATCH 0/12] cleanup __build_sched_domains() Ingo Molnar
2009-08-18 13:15 ` Andreas Herrmann [this message]
2009-08-18 13:25 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090818131558.GO29515@alberich.amd.com \
--to=andreas.herrmann3@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.