Messages in this thread | | | Date | Fri, 5 Sep 2008 20:17:54 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH] [RESEND] x86_64: add memory hotremove config option |
| |
* Badari Pulavarty <pbadari@us.ibm.com> wrote:
> > On Fri, 2008-09-05 at 19:44 +0200, Ingo Molnar wrote: > > * Gary Hade <garyhade@us.ibm.com> wrote: > > > > > Add memory hotremove config option to x86_64 > > > > > > Memory hotremove functionality can currently be configured into the > > > ia64, powerpc, and s390 kernels. This patch makes it possible to > > > configure the memory hotremove functionality into the x86_64 kernel as > > > well. > > > > hm, why is it for 64-bit only? > > > > > +++ linux-2.6.27-rc5/arch/x86/Kconfig 2008-09-03 13:34:55.000000000 -0700 > > > @@ -1384,6 +1384,9 @@ > > > def_bool y > > > depends on X86_64 || (X86_32 && HIGHMEM) > > > > > > +config ARCH_ENABLE_MEMORY_HOTREMOVE > > > + def_bool y > > > > so this will break the build on 32-bit, if CONFIG_MEMORY_HOTREMOVE=y? > > mm/memory_hotplug.c assumes that remove_memory() is provided by the > > architecture. > > > > > +#ifdef CONFIG_MEMORY_HOTREMOVE > > > +int remove_memory(u64 start, u64 size) > > > +{ > > > + unsigned long start_pfn, end_pfn; > > > + unsigned long timeout = 120 * HZ; > > > + int ret; > > > + start_pfn = start >> PAGE_SHIFT; > > > + end_pfn = start_pfn + (size >> PAGE_SHIFT); > > > + ret = offline_pages(start_pfn, end_pfn, timeout); > > > + if (ret) > > > + goto out; > > > + /* Arch-specific calls go here */ > > > +out: > > > + return ret; > > > +} > > > +EXPORT_SYMBOL_GPL(remove_memory); > > > +#endif /* CONFIG_MEMORY_HOTREMOVE */ > > > > hm, nothing appears to be arch-specific about this trivial wrapper > > around offline_pages(). > > Yes. All the archs (ppc64, ia64, s390, x86_64) have exact same > function. No architecture needed special handling so far (initial > versions of ppc64 needed extra handling, but I moved the code > to different place). > > We can make this generic and kill all arch-specific ones. > Initially, we didn't know if any arch needs special handling - > so ended up having private functions for each arch. > I think its time to merge them all. > > > Shouldnt this be moved to the CONFIG_MEMORY_HOTREMOVE portion of > > mm/memory_hotplug.c instead, as a weak function? That way architectures > > only have to enable ARCH_ENABLE_MEMORY_HOTREMOVE - and architectures > > with different/special needs can override it. > > Yes. We should do that. I will send out a patch.
ok - if all architectures have the same function then please make it a regular function not a weak one, and remove all the duplications.
Ingo
| |