From mboxrd@z Thu Jan 1 00:00:00 1970 From: robherring2@gmail.com (Rob Herring) Date: Wed, 20 Jul 2011 22:02:50 -0500 Subject: [PATCH] ARM: do not mark CPU 0 as hotpluggable In-Reply-To: <1311204745-6276-1-git-send-email-mturquette@ti.com> References: <1311204745-6276-1-git-send-email-mturquette@ti.com> Message-ID: <4E2796DA.80001@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 07/20/2011 06:32 PM, Mike Turquette wrote: > A quick poll of the ARM platforms that implement CPU Hotplug support > shows that every platform treats CPU 0 as a special case that cannot be > hotplugged. In fact every platform has identical code for > platform_cpu_die which returns -EPERM in the case of CPU 0. > > The user-facing sysfs interfaces should reflect this by not populating > an 'online' entry for CPU 0 at all. This better reflects reality by > making it clear to users that CPU 0 cannot be hotplugged. > > This patch prevents CPU 0 from being marked as hotpluggable on all ARM > platforms during CPU registration. This in turn prevents the creation > of an 'online' sysfs interface for that CPU. > Unless there is a kernel limitation why CPU0 can't be hot unplugged, then this should remain a platform decision. This may be another case of everybody just copying other platforms' code, not a platform limitation. Rob > Signed-off-by: Mike Turquette > --- > arch/arm/kernel/setup.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c > index ed11fb0..a5fc969 100644 > --- a/arch/arm/kernel/setup.c > +++ b/arch/arm/kernel/setup.c > @@ -940,7 +940,8 @@ static int __init topology_init(void) > > for_each_possible_cpu(cpu) { > struct cpuinfo_arm *cpuinfo = &per_cpu(cpu_data, cpu); > - cpuinfo->cpu.hotpluggable = 1; > + if (cpu) > + cpuinfo->cpu.hotpluggable = 1; > register_cpu(&cpuinfo->cpu, cpu); > } >