Russell,
On Tue, Nov 30, 2010 at 11:03:31AM +0000, Russell King - ARM Linux wrote:
I see no point to what is being proposed in this thread. It's _soo_ little code that the platforms have to implement that it really is not worth the effort.
[...]
Note also that most implementations of this get it wrong. Realview assumes ARMv6 MPcore layout of the auxcontrol register, which is cut'n'pasted into s5pv310 (ARMv7) and Tegra (ARMv7) without thinking. The only implementation which has put some thought into it is the UX500 one, which is extremely simple.
So, out of the four existing implementations, at least two need fixing to be different, and I'll bet that they do have some way to power down the offlined CPUs for greater power savings.
I have patches that fix this for RealView and Versatile Express, I posted them to the list in the past (note that these are now out of date):
http://lists.infradead.org/pipermail/linux-arm-kernel/2010-September/026160....
I have a newer version here:
git://linux-arm.org/linux-2.6-wd.git cpu-hotplug
but it relies on the Versatile Express multi-tile patches that I'm posting at the moment. If the hotplug APIs aren't about to change fundamentally, then I'll repost these patches once the multi-tile stuff is accepted.
Will