Messages in this thread | | | Date | Wed, 07 Feb 2007 11:34:57 +0200 | From | Avi Kivity <> | Subject | Re: [patch] KVM, hotplug: export register_cpu_notifier |
| |
Ingo Molnar wrote: > * Avi Kivity <avi@qumranet.com> wrote: > > >>> -#ifdef CONFIG_HOTPLUG_CPU >>> - >>> EXPORT_SYMBOL(register_cpu_notifier); >>> >>> +#ifdef CONFIG_HOTPLUG_CPU >>> + >>> void unregister_cpu_notifier(struct notifier_block *nb) >>> { >>> mutex_lock(&cpu_add_remove_lock); >>> >>> >> This is broken: register_cpu_notifier() is __cpuinit, which means it >> disappears at module time if !CONFIG_CPU_HOTPLUG. >> >> I submitted a hackaround to Andrew some time ago with the suspend >> patchset. >> > > ok. What does your patch do - turns it into an inline? I fixed it up in > -rt via the patch below. > >
yes, but only if MODULE.
> Ingo > > ----------------------> > Subject: [patch] KVM: export register_cpu_notifier > From: Ingo Molnar <mingo@elte.hu> > > KVM-trunk uses register_cpu_notifier() but it's not exported > on CONFIG_HOTPLUG_CPU. Make it a nop inline. > > Signed-off-by: Ingo Molnar <mingo@elte.hu> > --- > include/linux/cpu.h | 6 +++++- > kernel/cpu.c | 4 ---- > 2 files changed, 5 insertions(+), 5 deletions(-) > > Index: linux/include/linux/cpu.h > =================================================================== > --- linux.orig/include/linux/cpu.h > +++ linux/include/linux/cpu.h > @@ -49,10 +49,14 @@ struct notifier_block; > > #ifdef CONFIG_SMP > /* Need to know about CPUs going up/down? */ > -extern int register_cpu_notifier(struct notifier_block *nb); > #ifdef CONFIG_HOTPLUG_CPU > +extern int register_cpu_notifier(struct notifier_block *nb); > extern void unregister_cpu_notifier(struct notifier_block *nb); > #else > +static inline int register_cpu_notifier(struct notifier_block *nb) > +{ > + return 0; > +} > static inline void unregister_cpu_notifier(struct notifier_block *nb) > { > } > Index: linux/kernel/cpu.c > =================================================================== > --- linux.orig/kernel/cpu.c > +++ linux/kernel/cpu.c > @@ -63,8 +63,6 @@ void unlock_cpu_hotplug(void) > } > EXPORT_SYMBOL_GPL(unlock_cpu_hotplug); > > -#endif /* CONFIG_HOTPLUG_CPU */ > - > /* Need to know about CPUs going up/down? */ > int __cpuinit register_cpu_notifier(struct notifier_block *nb) > { > @@ -75,8 +73,6 @@ int __cpuinit register_cpu_notifier(stru > return ret; > } > > -#ifdef CONFIG_HOTPLUG_CPU > - > EXPORT_SYMBOL(register_cpu_notifier); > > void unregister_cpu_notifier(struct notifier_block *nb) >
-- Do not meddle in the internals of kernels, for they are subtle and quick to panic.
- 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/
| |