From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: Resend [PATCH 00/10] ARM: SMP initialization consolidation
Date: Sun, 08 May 2011 14:38:18 -0500 [thread overview]
Message-ID: <4DC6F12A.9010904@gmail.com> (raw)
In-Reply-To: <20110508094215.GC27807@n2100.arm.linux.org.uk>
On 05/08/2011 04:42 AM, Russell King - ARM Linux wrote:
> 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.
Is there any harm in making the default be mark all cores present then
let the platform code clear the present state if so desired? This was my
intention.
>
>> 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.
>
Thanks for the explanation. I now see that for my case I won't need the
pen code at all.
What about the scu_init_cpus patch? You posted something similar as
Stephen pointed out that I had missed. Do you plan to merge that?
Rob
prev parent reply other threads:[~2011-05-08 19:38 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
2011-05-08 19:38 ` Rob Herring [this message]
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=4DC6F12A.9010904@gmail.com \
--to=robherring2@gmail.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).