Re: [patch 2/4] introduce the mechanism of disabling cpu hotplugcontrol

From: Andrew Morton
Date: Tue Nov 07 2006 - 22:58:13 EST


On Tue, 7 Nov 2006 17:40:25 -0800
"Siddha, Suresh B" <suresh.b.siddha@xxxxxxxxx> wrote:

> Add 'cpu_hotplug_no_control' and when set, the hotplug control file("online")
> will not be added under /sys/devices/system/cpu/cpuX/
>
> Next patch doing PCI quirks will use this.
>

I don't understand what this (ugly) patch has to do with the overall
bugfix. We're fixing the APCI initialisation - what does that have to do
with presenting cpu-hotplug files in sysfs?


> ---
>
> diff --git a/arch/i386/kernel/topology.c b/arch/i386/kernel/topology.c
> index 07d6da3..9b766e7 100644
> --- a/arch/i386/kernel/topology.c
> +++ b/arch/i386/kernel/topology.c
> @@ -40,14 +40,22 @@ int arch_register_cpu(int num)
> * restrictions and assumptions in kernel. This basically
> * doesnt add a control file, one cannot attempt to offline
> * BSP.
> + *
> + * Also certain PCI quirks require to remove this control file
> + * for all CPU's.
> */
> +#ifdef CONFIG_HOTPLUG_CPU
> + if (!num || cpu_hotplug_no_control)
> +#else
> if (!num)
> +#endif

This ifdef could be removed

> cpu_devices[num].cpu.no_control = 1;
>
> return register_cpu(&cpu_devices[num].cpu, num);
> }
>
> #ifdef CONFIG_HOTPLUG_CPU
> +int cpu_hotplug_no_control;
>
> void arch_unregister_cpu(int num) {
> return unregister_cpu(&cpu_devices[num].cpu);
> diff --git a/include/asm-i386/cpu.h b/include/asm-i386/cpu.h
> index b1bc7b1..3c5da33 100644
> --- a/include/asm-i386/cpu.h
> +++ b/include/asm-i386/cpu.h
> @@ -13,6 +13,7 @@ struct i386_cpu {
> extern int arch_register_cpu(int num);
> #ifdef CONFIG_HOTPLUG_CPU
> extern void arch_unregister_cpu(int);
> +extern int cpu_hotplug_no_control;

via:

#else
#define cpu_hotplug_no_control 1

here.


But does this variable _have_ to be a negative like this? The code would
be simpler if it had the opposite sense and was called, say,
cpu_hotplug_enable_control_file.

Are these patches considered 2.6.19 material? They look a bit big, ugly
and scary for that.

-
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/