From: Ingo Molnar <mingo@elte.hu>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Andreas Herrmann <andreas.herrmann3@amd.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 15/15] x86: Fix cpu_coregroup_mask to return correct cpumask on multi-node processors
Date: Mon, 24 Aug 2009 20:21:54 +0200 [thread overview]
Message-ID: <20090824182154.GA9785@elte.hu> (raw)
In-Reply-To: <1251128176.7538.301.camel@twins>
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Thu, 2009-08-20 at 15:46 +0200, Andreas Herrmann wrote:
> > The correct mask that describes core-siblings of an processor
> > is topology_core_cpumask. See topology adapation patches, especially
> > http://marc.info/?l=linux-kernel&m=124964999608179
>
> argh, violence, murder kill.. this is the worst possible hack and
> you're extending it :/
I think most of the trouble here comes from having inconsistent
names, a rather static structure for sched-domains setup and then we
are confusing things back and forth.
Right now we have thread/sibling, core, CPU/socket and node, with
many data structures around these hardcoded. Certain scheduler
features only operate on the hardcoded fields.
Now Magny-Cours adds a socket internal node construct to the whole
thing, names it randomly and basically breaks the semi-static
representation.
We cannot just flip around our static names and hope it goes well
and everything just drops into place. Everything just falls apart
really instead.
Instead we should have an arch-defined tree and a CPU architecture
dependent ASCII name associated with each level - but not hardcoded
into the scheduler.
Plus we should have independent scheduler domains feature flags that
can be turned on/off in various levels of that tree, depending on
the cache and interconnect properties of the hardware - without
having to worry about what the ASCII name says. Those features
should be capable to work not just on the lowest level of the tree,
but on higher levels too, regardless whether that level is called a
'core', a 'socket' or an 'internal node' on the ASCII level really.
This is why i insisted on handling the Magny-Cours topology
discovery and enumeration patches together with the scheduler
patches. It can easily become a mess if extended.
Ingo
next prev parent reply other threads:[~2009-08-24 18:22 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-20 13:12 [RFC][PATCH 0/15] sched: Fix scheduling for multi-node processors Andreas Herrmann
2009-08-20 13:15 ` [PATCH 1/15] x86, sched: Add config option for multi-node CPU scheduling Andreas Herrmann
2009-08-21 13:50 ` Valdis.Kletnieks
2009-08-24 8:49 ` Andreas Herrmann
2009-08-20 13:34 ` [PATCH 2/15] sched, x86: Provide initializer for MN scheduling domain, define MN level Andreas Herrmann
2009-08-20 13:34 ` [PATCH 3/15] sched: Add cpumask to be used when building MN domain Andreas Herrmann
2009-08-20 13:35 ` [PATCH 4/15] sched: Define per CPU variables and cpu_to_group function for " Andreas Herrmann
2009-08-20 13:36 ` [PATCH 5/15] sched: Add function to build MN sched domain Andreas Herrmann
2009-08-20 13:37 ` [PATCH 6/15] sched: Add support for MN domain in build_sched_groups Andreas Herrmann
2009-08-20 13:38 ` [PATCH 7/15] sched: Activate build of MN domains Andreas Herrmann
2009-08-20 13:39 ` [PATCH 8/15] sched: Add parameter sched_mn_power_savings to control MN domain sched policy Andreas Herrmann
2009-08-24 14:56 ` Peter Zijlstra
2009-08-24 15:32 ` Vaidyanathan Srinivasan
2009-08-24 15:45 ` Peter Zijlstra
2009-08-25 7:52 ` Andreas Herrmann
2009-08-25 7:50 ` Andreas Herrmann
2009-08-25 6:24 ` Andreas Herrmann
2009-08-25 6:41 ` Peter Zijlstra
2009-08-25 8:38 ` Andreas Herrmann
2009-08-26 9:30 ` Gautham R Shenoy
2009-08-27 12:47 ` Andreas Herrmann
2009-08-20 13:40 ` [PATCH 9/15] sched: Check sched_mn_power_savings when setting flags for CPU and MN domains Andreas Herrmann
2009-08-24 14:57 ` Peter Zijlstra
2009-08-25 9:34 ` Gautham R Shenoy
2009-08-26 10:01 ` Gautham R Shenoy
2009-08-20 13:41 ` [PATCH 10/15] sched: Check for sched_mn_power_savings when doing load balancing Andreas Herrmann
2009-08-24 15:03 ` Peter Zijlstra
2009-08-24 15:40 ` Vaidyanathan Srinivasan
2009-08-25 8:00 ` Andreas Herrmann
2009-08-20 13:41 ` [PATCH 11/15] sched: Pass unlimited __cpu_power information to upper domain level groups Andreas Herrmann
2009-08-24 15:21 ` Peter Zijlstra
2009-08-24 16:44 ` Balbir Singh
2009-08-24 17:26 ` Peter Zijlstra
2009-08-24 18:19 ` Balbir Singh
2009-08-25 7:11 ` Peter Zijlstra
2009-08-25 8:04 ` Balbir Singh
2009-08-25 8:30 ` Peter Zijlstra
2009-08-25 8:51 ` Andreas Herrmann
2009-08-20 13:42 ` [PATCH 12/15] sched: Allow NODE domain to be parent of MC instead of CPU domain Andreas Herrmann
2009-08-24 15:32 ` Peter Zijlstra
2009-08-25 8:55 ` Andreas Herrmann
2009-08-20 13:43 ` [PATCH 13/15] sched: Detect child domain of NUMA (aka NODE) domain Andreas Herrmann
2009-08-24 15:34 ` Peter Zijlstra
2009-08-25 9:13 ` Andreas Herrmann
2009-08-20 13:45 ` [PATCH 14/15] sched: Conditionally limit __cpu_power when child sched domain has type NODE Andreas Herrmann
2009-08-24 15:35 ` Peter Zijlstra
2009-08-25 9:19 ` Andreas Herrmann
2009-08-20 13:46 ` [PATCH 15/15] x86: Fix cpu_coregroup_mask to return correct cpumask on multi-node processors Andreas Herrmann
2009-08-24 15:36 ` Peter Zijlstra
2009-08-24 18:21 ` Ingo Molnar [this message]
2009-08-25 10:13 ` Andreas Herrmann
2009-08-25 10:36 ` Ingo Molnar
2009-08-27 13:18 ` Andreas Herrmann
2009-08-25 9:31 ` Andreas Herrmann
2009-08-25 9:55 ` Peter Zijlstra
2009-08-25 10:20 ` Ingo Molnar
2009-08-25 10:24 ` Andreas Herrmann
2009-08-25 10:28 ` Ingo Molnar
2009-08-25 10:35 ` Peter Zijlstra
2009-08-27 15:42 ` Andreas Herrmann
2009-08-27 15:25 ` Andreas Herrmann
2009-08-28 10:39 ` Peter Zijlstra
2009-08-28 12:03 ` Andreas Herrmann
2009-08-28 12:50 ` 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=20090824182154.GA9785@elte.hu \
--to=mingo@elte.hu \
--cc=andreas.herrmann3@amd.com \
--cc=linux-kernel@vger.kernel.org \
--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.