linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 2/2] ARM: SMP support for mach-virt
Date: Tue, 4 Dec 2012 13:33:26 +0000	[thread overview]
Message-ID: <20121204133326.GE14363@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20121204124047.GM23368@mudshark.cambridge.arm.com>

On Tue, Dec 04, 2012 at 12:40:47PM +0000, Will Deacon wrote:
> On Mon, Dec 03, 2012 at 09:55:35PM +0000, Rob Herring wrote:
> > Why is the pen is needed? It should only be needed for hotplug on
> > systems that can't reset their cores. I'd hope you could design good
> > virtual h/w.
> 
> It's not so much about designing good virtual h/w as it is avoiding tying
> the platform to it. What we don't want is to mandate that in order to boot
> this machine, you *must* implement an emulation of some virtual
> power-controller or SMP booting device. If we go down that route, there's
> less advantage from having the virtual platform in the first place.

There is actually a bigger problem here.  Let's say that you have a
quad SMP platform.  You've arranged for your kernel to boot and only
bring one of those cores online.

You then kexec() or reboot.  As far as the kernel is concerned, those
other two CPUs are not online and are not running any kernel code;
however in reality they could be sitting in this 'pen'.

The memory that these 'offline' CPUs is executing then gets overwritten,
and that's game over for those CPUs.

So, the 'pen' approach in the kernel is fragile, I'd much rather not
have it.  It was fine in the beginning for the initial ARM Ltd SMP
platforms but in this modern age it has no place in real platforms where
there is proper control of the secondary CPUs.

  reply	other threads:[~2012-12-04 13:33 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-03 17:52 [RFC PATCH 0/2] Add support for a fake, para-virtualised machine Will Deacon
2012-12-03 17:52 ` [RFC PATCH 1/2] ARM: Dummy Virtual Machine platform support Will Deacon
2012-12-03 17:52 ` [RFC PATCH 2/2] ARM: SMP support for mach-virt Will Deacon
2012-12-03 21:55   ` Rob Herring
2012-12-04 12:40     ` Will Deacon
2012-12-04 13:33       ` Russell King - ARM Linux [this message]
2012-12-04 13:40         ` Will Deacon
2012-12-04 14:37           ` Russell King - ARM Linux
2012-12-04 16:11             ` Will Deacon
2012-12-04 16:35               ` Russell King - ARM Linux
2012-12-04 17:24                 ` Will Deacon
2012-12-04 19:37                   ` Arnd Bergmann
2012-12-04 16:45               ` Rob Herring
2012-12-04 17:16                 ` Will Deacon
2012-12-04 17:23                   ` Rob Herring
2012-12-04 17:24                   ` Marc Zyngier
2012-12-04 17:30                     ` Will Deacon
2012-12-11 16:04                       ` Stefano Stabellini
2012-12-11 16:09                         ` Will Deacon
2012-12-11 16:34                           ` Stefano Stabellini
2012-12-11 16:41                             ` Ian Campbell
2012-12-11 16:43                             ` Will Deacon
2012-12-11 17:14                               ` Stefano Stabellini
2012-12-11 17:24                                 ` Will Deacon
2012-12-04 18:10                   ` Nicolas Pitre
2012-12-03 21:54 ` [RFC PATCH 0/2] Add support for a fake, para-virtualised machine Rob Herring
2012-12-04 12:30   ` Will Deacon
2012-12-04 14:12     ` Rob Herring
2012-12-04 17:00       ` Nicolas Pitre
2012-12-04 17:11         ` Will Deacon
2012-12-04 18:02           ` Nicolas Pitre
2012-12-04 18:14             ` Will Deacon
2012-12-05 14:52               ` Catalin Marinas
2012-12-05 15:07                 ` Nicolas Pitre
2012-12-05 15:10                   ` Will Deacon
2012-12-05 15:07                 ` Will Deacon
2012-12-05 15:15                   ` Catalin Marinas
2012-12-11 16:19     ` Stefano Stabellini

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=20121204133326.GE14363@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).