[U-Boot] ARMv8 spin-table patches

Mark Rutland mark.rutland at arm.com
Fri Jul 4 11:29:09 CEST 2014


Hi,

Apologies for the late reply.

On Fri, Jun 27, 2014 at 05:44:05PM +0100, Tom Rini wrote:
> On Fri, Jun 27, 2014 at 09:11:39AM -0700, York Sun wrote:
> 
> > Dear Albert, Wolfgang, Tom,
> > 
> > I have seen some patches for PSCI. We don't have PSCI enabled on
> > Freescale ARMv8 SoCs. Will spin-table patches be acceptable?
> 
> Baring some technical reasons why no, you can't do that, yes, lets see
> the patches :)

I'd point out that it's decidedly sub-optimal as spin-table provides no
provision for CPU hotplug (which for Linux will affect kexec and other
features relying on CPU hotplug support).

Additionally, spin-table has the unfortunate property of allowing the
firmware to throw an unbound number of CPUs into the kernel at once
(when they share a cpu-release-addr), where they can spend a lot of time
spinning pointlessly (executing kernel code from memory and possibly
fetching it into I-caches) depending on the number of events a CPU
happens to generate at runtime.

Linux will continue to support spin-table, but it's far preferable to
use PSCI.

Another possibility raised was trying to fix spin-table to provide
provisions for CPU hotplug, but I've not had the time to look into this
in great detail.

A while ago there were some PSCI patches for (32-bit) ARM [1]...

Thanks,
Mark.

[1] https://git.kernel.org/cgit/linux/kernel/git/maz/u-boot.git/log/?h=wip/psci-v4


More information about the U-Boot mailing list