lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 5 Sep 2008 20:17:54 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Badari Pulavarty <pbadari@...ibm.com>
Cc:	Gary Hade <garyhade@...ibm.com>, linux-mm@...ck.org,
	Andrew Morton <akpm@...ux-foundation.org>,
	Yasunori Goto <y-goto@...fujitsu.com>,
	Mel Gorman <mel@....ul.ie>, Chris McDermott <lcm@...ibm.com>,
	linux-kernel@...r.kernel.org, x86@...nel.org
Subject: Re: [PATCH] [RESEND] x86_64: add memory hotremove config option


* Badari Pulavarty <pbadari@...ibm.com> wrote:

> 
> On Fri, 2008-09-05 at 19:44 +0200, Ingo Molnar wrote:
> > * Gary Hade <garyhade@...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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists