From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: linux-arm-kernel@lists.infradead.org
Subject: Re: Resend [PATCH 00/10] ARM: SMP initialization consolidation
Date: Sun, 08 May 2011 09:42:15 +0000 [thread overview]
Message-ID: <20110508094215.GC27807@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <201105031557.42355.arnd@arndb.de>
On Tue, May 03, 2011 at 03:57:42PM +0200, Arnd Bergmann wrote:
> On Tuesday 03 May 2011, Russell King - ARM Linux wrote:
> > Such a SoC may wish to do things differently from the current approach
> > (which is basically bring up all cores at boot) particularly as the
> > performance gained from each CPU is far from identical. So I've been
> > nervous about moving the CPU map initialization into core code.
> >
> > Note that the low power CPU may not be the last in the set, so merely
> > limiting the system to two CPUs is not the answer.
>
> If I read the patches correctly, it's still strictly opt-in per platform.
Except where things are moved into the generic code, such as the setting
of present CPUs.
> When a platform wants to support the setup you mentioned or something
> even stranger, all it would have to do is provide its own versions of
> the SMP pen and scu init function, right?
No.
As I've already said in the past, I doubt that very many platforms actually
need the SMP pen stuff. There are two situations where you need that:
1. If you have more than two CPUs, _and_ you have no way to control which
of those CPUs are triggered to jump into the kernel.
2. If you have hotplug and you have no way to power down or reset the
CPUs.
There seems to be few platforms which fall into (1) - most SMP
implementations are based around two CPUs today so if you only have one
secondary CPU, there's no point triggering it via a soft irq to enter the
kernel, then hold it in a pen, then release it from the pen, etc.
Those which seem to fall into (2) do so because they've cut'n'pasted the
code from the Realview platforms, along with its bugs with the auxillary
control register, which subseqently get tweaked.
My feeling is that most of the hotplug implementations are just basic "this
seems to approximately work" kind of things rather than someone taking a
look at what the hardware supports and doing something more useful (such
as powering down the CPU, placing it in reset, etc.)
However, (2) is dependent on (1) as both share pen_release. (2) needs to
be sorted by platforms before the (1) can be eliminated from platform code.
I'd much rather see the pen_release stuff being eliminated from platforms
where it's not necessary, rather than being turned into a generic thing
which everyone uses because its there. Not only should this simplify the
code, but also reduce the size of the platform SMP support code.
next prev parent reply other threads:[~2011-05-08 9:42 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-30 2:08 Resend [PATCH 00/10] ARM: SMP initialization consolidation Rob Herring
2011-04-30 2:08 ` [PATCH 01/10] ARM: move Versatile SMP pen code to common location Rob Herring
2011-04-30 2:08 ` [PATCH 02/10] ARM: ux500: convert to use common secondary pen code Rob Herring
2011-04-30 2:08 ` [PATCH 03/10] ARM: msm: " Rob Herring
2011-04-30 2:08 ` [PATCH 04/10] ARM: add common scu_init_cpus Rob Herring
2011-04-30 2:08 ` [PATCH 05/10] ARM: omap: use " Rob Herring
2011-04-30 2:08 ` [PATCH 06/10] ARM: realview: " Rob Herring
2011-04-30 2:08 ` [PATCH 07/10] ARM: vexpress: " Rob Herring
2011-04-30 2:08 ` [PATCH 08/10] ARM: ux500: " Rob Herring
2011-04-30 2:08 ` [PATCH 09/10] ARM: shmobile: " Rob Herring
2011-04-30 2:08 ` [PATCH 10/10] ARM: move set_cpu_present calls to common smp code Rob Herring
2011-04-30 5:58 ` Resend [PATCH 00/10] ARM: SMP initialization consolidation Stephen Boyd
2011-05-02 23:40 ` Russell King - ARM Linux
2011-05-03 13:57 ` Arnd Bergmann
2011-05-08 9:42 ` Russell King - ARM Linux [this message]
2011-05-08 19:38 ` Rob Herring
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=20110508094215.GC27807@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--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).