Messages in this thread | | | Date | Fri, 11 Nov 2011 13:23:28 -0500 | From | Konrad Rzeszutek Wilk <> | Subject | Re: [PATCH v3 1/7] x86/topology.c: Support functions for BSP online/offline |
| |
On Wed, Nov 09, 2011 at 04:34:11PM -0800, Fenghua Yu wrote: > From: Fenghua Yu <fenghua.yu@intel.com> > > By default, BSP can't be hotpluggable because bsp_hotpluggable is 0. Kernel > parameter bsp_hotplug can enable BSP hotplug feature. > > Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> > --- > arch/x86/kernel/topology.c | 24 +++++++++++++++++------- > 1 files changed, 17 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c > index 76ee977..a3fc939 100644 > --- a/arch/x86/kernel/topology.c > +++ b/arch/x86/kernel/topology.c > @@ -35,18 +35,28 @@ > static DEFINE_PER_CPU(struct x86_cpu, cpu_devices); > > #ifdef CONFIG_HOTPLUG_CPU > + > +static int bsp_hotpluggable;
__read_mostly
> + > +static int __init enable_bsp_hotplug(char *str) > +{ > + bsp_hotpluggable = 1; > + return 1; > +} > + > +__setup("bsp_hotplug", enable_bsp_hotplug); > + > int __ref arch_register_cpu(int num) > { > /* > - * CPU0 cannot be offlined due to several > - * restrictions and assumptions in kernel. This basically > - * doesn't add a control file, one cannot attempt to offline > - * BSP. > + * Resume from suspend/hibernate depends on BSP. PIC interrupts depend > + * on BSP. > * > - * Also certain PCI quirks require not to enable hotplug control > - * for all CPU's. > + * If the BSP depencies are under control, one can tell kernel to > + * enable BSP hotplug. This basically adds a control file and > + * one can attempt to offline BSP. > */ > - if (num) > + if (num || bsp_hotpluggable) > per_cpu(cpu_devices, num).cpu.hotpluggable = 1; > > return register_cpu(&per_cpu(cpu_devices, num).cpu, num); > -- > 1.6.0.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
| |