From: Dave.Martin@arm.com (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC][PATCH 1/2] ARM64: add cpu topology definition
Date: Mon, 29 Jul 2013 14:36:30 +0100 [thread overview]
Message-ID: <20130729133625.GA2280@localhost.localdomain> (raw)
In-Reply-To: <20130729095400.GB32383@mudshark.cambridge.arm.com>
On Mon, Jul 29, 2013 at 10:54:01AM +0100, Will Deacon wrote:
> On Mon, Jul 29, 2013 at 10:46:06AM +0100, Vincent Guittot wrote:
> > On 27 July 2013 12:42, Hanjun Guo <hanjun.guo@linaro.org> wrote:
> > > Power aware scheduling needs the cpu topology information to improve the
> > > cpu scheduler decision making.
> >
> > It's not only power aware scheduling. The scheduler already uses
> > topology and cache sharing when CONFIG_SCHED_MC and/or
> > CONFIG_SCHED_SMT are enable. So you should also add these configs for
> > arm64 so the scheduler can use it
>
> ... except that the architecture doesn't define what the AFF fields in MPIDR
> really represent. Using them to make key scheduling decisions relating to
In fact, the ARM Architecture doesn't place any requirements on MPIDRs to
force the aff fields to exist _at all_. It's just a recommendation.
Instead, you have a 24 or 32-bit number which is unique per CPU, and which
is _probably_ assigned in a way resembling the aff fields.
> cache proximity seems pretty risky to me, especially given the track record
> we've seen already on AArch32 silicon. It's a convenient register if it
> contains the data we want it to contain, but we need to force ourselves to
> come to terms with reality here and simply use it as an identifier for a
> CPU.
+1
Also, we should align arm and arm64. The problem is basically exactly
the same, and the solution needs to be the same. struct cputopo_arm is
already being abused -- for example, TC2 describes the A15 and A7
clusters on a single die as having different "socket_id" values, even
though this is obviously nonsense. But there's no other way to describe
that system today.
> Can't we just use the device-tree to represent this topological data for
> arm64? Lorenzo has been working on bindings in this area.
This may become more important as we start to see things like asymmetric
topologies appearing (different numbers of nodes and different
interdependence characteristics in adjacent branches of the topology
etc.)
Cheers
---Dave
next prev parent reply other threads:[~2013-07-29 13:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-27 10:42 [RFC][PATCH 1/2] ARM64: add cpu topology definition Hanjun Guo
2013-07-27 10:42 ` [RFC][PATCH 2/2] ARM64: introduce cluster id and make a difference between socket id Hanjun Guo
2013-07-29 9:38 ` Vincent Guittot
2013-07-30 7:46 ` Hanjun Guo
2013-07-29 9:46 ` [RFC][PATCH 1/2] ARM64: add cpu topology definition Vincent Guittot
2013-07-29 9:54 ` Will Deacon
2013-07-29 10:39 ` Vincent Guittot
2013-07-29 13:36 ` Dave Martin [this message]
2013-07-29 17:23 ` Lorenzo Pieralisi
2013-07-30 8:09 ` Hanjun Guo
2013-08-14 11:27 ` Catalin Marinas
2013-08-15 1:00 ` Hanjun Guo
2013-07-29 10:15 ` Sudeep KarkadaNagesha
2013-07-29 10:28 ` Vincent Guittot
2013-07-30 7:49 ` Hanjun Guo
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=20130729133625.GA2280@localhost.localdomain \
--to=dave.martin@arm.com \
--cc=linux-arm-kernel@lists.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).