[PATCH v5 00/10] Per SoC descriptor
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Oct 13 11:34:49 EDT 2011
On Thu, Oct 13, 2011 at 04:25:36PM +0100, Marc Zyngier wrote:
> On 13/10/11 11:32, Russell King - ARM Linux wrote:
> > On Mon, Oct 10, 2011 at 03:02:12PM +0100, Marc Zyngier wrote:
>
> [...]
>
> >> 65 files changed, 569 insertions(+), 149 deletions(-)
> >
> > This isn't particularly appealing for something that's supposed to
> > be a clean up - it's introducing 400+ new lines of code. It looks like
> > most of this comes from the platform stuff rather than core stuff.
> >
> > Can't we do any better with this? We really need things to be going
> > in the other direction.
>
> There is definitely room for improvement, by factoring in some common
> code across platforms. But I see that as a second phase, and started by
> just moving things to the SoC descriptor, all the code staying mostly
> the same.
I was meaning without that - what concerns me is the size of increase
just to introduce this. It seems needlessly large.
I've also never been convinced by attempts to consolidate the hotplug
code - I've said this every time it's been suggested: I believe many
platforms just aren't trying to support hotplug CPU properly.
They've just copied the noddy Realview platform version - which is
noddy because ARMs platforms tend to have a total lack of power
management support on them. The best we can do is put them in a WFI
loop waiting to be re-awoken.
Real platforms surely must have better PM support than that, and so
copying the Realview implementation does not make sense - it's good
to see that _some_ platforms have made an effort, though they still
just return from platform_cpu_die(), rather than the intended path of
re-awaking via the standard bringup path. The return path from
platform_cpu_die() is supposed to be the last-ditch attempt if all else
has failed.
Note that doing that _also_ fixes the kexec problem that Will is
struggling with - if we can get that sorted we don't need to pen the
CPUs in a reserved area of memory while we kexec from one kernel to
the next - they can be kept in the boot loader while the kernel is
changed.
More information about the linux-arm-kernel
mailing list