On Tue, Mar 13, 2007 at 09:40:39AM +0000, Russell King wrote: > On Tue, Mar 13, 2007 at 10:11:59AM +0100, Heiko Carstens wrote: > > On Tue, Mar 13, 2007 at 10:03:50AM +0100, Heiko Carstens wrote: > > > I was referring to arch/ppc not arch/powerpc. But it seems that arch/ppc > > > doesn't support cpu hotplug anyway. So I guess it's indeed just a missing > > > config option. > > > > > > Grepping a bit further shows that arm suffered by the change that inverted > > > the logic if the 'online' attribute for cpus should appear. Since arm > > > supports cpu hotplug but the patch left arm out, it doesn't work there > > > anymore (cc'ing arm people: changeset > > > 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc > > > is most probably disabling cpu hotplug support on arm like it did on > > > s390). > > > > Should have cc'ed Suresh Siddha who caused the breakage ;) > > Welcome to why cleanups are bad news. ;( Yes, ARM also needs to be fixed > and I'd ask that in future people doing cleanups in core code take a little > more time to review the code before submitting patches *AND* give heads-up > to *EVERYONE* who might be affected by the change.
Right, here's the ARM fix which is now in the ARM tree: # Base git commit: 8b9909ded6922c33c221b105b26917780cfa497d # (Merge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/paulus/powerpc) # # Author: Russell King (Tue Mar 13 09:54:21 GMT 2007) # Committer: Russell King (Tue Mar 13 09:54:21 GMT 2007) # # [ARM] Fix breakage caused by 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc # # 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc inverted the sense for # enabling hotplug CPU controls without reference to any other # architecture other than i386, ia64 and PowerPC. This left # everyone else without hotplug CPU control. # # Fix ARM for this brain damage. # # Signed-off-by: Russell King # # arch/arm/kernel/setup.c | 7 +++++-- # 1 files changed, 5 insertions(+), 2 deletions(-) # diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 03e37af..0453dcc 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -839,8 +839,11 @@ static int __init topology_init(void) { int cpu; - for_each_possible_cpu(cpu) - register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu); + for_each_possible_cpu(cpu) { + struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu); + cpuinfo->cpu.hotpluggable = 1; + register_cpu(&cpuinfo->cpu, cpu); + } return 0; } -- Russell King Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/ maintainer of: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/