[PATCH] ARM: do not mark CPU 0 as hotpluggable

Rob Herring robherring2 at gmail.com
Wed Jul 20 23:02:50 EDT 2011


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 <mturquette at ti.com>
> ---
>  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);
>  	}
>  




More information about the linux-arm-kernel mailing list