Re: [PATCH 1/3] arm: ls1: add CPU hotplug platform support

From: Russell King - ARM Linux
Date: Sun Sep 28 2014 - 10:27:44 EST


On Sun, Sep 28, 2014 at 06:57:18PM +0800, Li Yang wrote:
> On Fri, Sep 26, 2014 at 9:20 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> >> > This looks to be a carbon copy of the vexpress pseudo-hotplug in
> >> > arch/arm/mach-vexpress/hotplug.c, which is obviously broken in the way
> >> > you describe above. Perhaps we should go about ripping that out?
> >>
> >> The Versatile Express does not support suspend so the only problem case
> >> is kexec. However, isn't this support needed for big.LITTLE, and as
> >> the Versatile Express is the platform which these features get developed
> >> on, having working CPU hotplug seems rather fundamental for ARM kernel
> >> feature development.
> >>
> >> In that regard, Versatile Express is something of a special case.
> >
> > It is admittedly helpful during development to perform pseudo-hotplug on
> > Versatile Express. I have a local patch adding vexpress_cpu_disable so I
> > can test for bugs that only trigger if CPU0 is hotplugged.
> >
> > Given that, perhaps we should make it clearer that Versatile Express is
> > not a reference implementation for CPU hotplug; add some Kconfig (e.g.
> > VEXPRESS_PSEUDO_HOTPLUG) that depends on !KEXEC && !SUSPEND, and putting
> > a note in hotplug.c stating it's not suitable as a reference
> > implementation.
> >
> > ...but perhaps that's overkill.
>
> I agree that the pseudo-hotplug is breaking the kexec. However, I
> don't think it breaks the system suspend case as tasks and interrupts
> have been moved out of the non-booting CPU. The pseudo-hotplug would
> be even better than real hotplug as it introduces less latency.

Sorry, that's not an acceptable reason to use it.

NAK.

--
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/