Message ID | 20140128183457.GA9315@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
On Tue, 28 Jan 2014, Nishanth Aravamudan wrote: > Anton Blanchard found an issue with an LPAR that had no memory in Node > 0. Christoph Lameter recommended, as one possible solution, to use > numa_mem_id() for locality of the nearest memory node-wise. However, > numa_mem_id() [and the other related APIs] are only useful if > CONFIG_HAVE_MEMORYLESS_NODES is set. This is only the case for ia64 > currently, but clearly we can have memoryless nodes on ppc64. Add the > Kconfig option and define it to be the same value as CONFIG_NUMA. Well this is trivial but if you need encouragement: Reviewed-by: Christoph Lameter <cl@linux.com>
On 28.01.2014 [10:34:57 -0800], Nishanth Aravamudan wrote: > Anton Blanchard found an issue with an LPAR that had no memory in Node > 0. Christoph Lameter recommended, as one possible solution, to use > numa_mem_id() for locality of the nearest memory node-wise. However, > numa_mem_id() [and the other related APIs] are only useful if > CONFIG_HAVE_MEMORYLESS_NODES is set. This is only the case for ia64 > currently, but clearly we can have memoryless nodes on ppc64. Add the > Kconfig option and define it to be the same value as CONFIG_NUMA. > > On the LPAR in question, which was very inefficiently using slabs, this > took the slab consumption at boot from roughly 7GB to roughly 4GB. Err, this should have been Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com> ! Sorry about that Ben! > --- > Ben, the only question I have wrt this change is if it's appropriate to > change it for all powerpc configs (that have NUMA on)? > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 25493a0..bb2d5fe 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -447,6 +447,9 @@ config NODES_SHIFT > default "4" > depends on NEED_MULTIPLE_NODES > > +config HAVE_MEMORYLESS_NODES > + def_bool NUMA > + > config ARCH_SELECT_MEMORY_MODEL > def_bool y > depends on PPC64
On Thu, 13 Feb 2014, Nishanth Aravamudan wrote: > > Anton Blanchard found an issue with an LPAR that had no memory in Node > > 0. Christoph Lameter recommended, as one possible solution, to use > > numa_mem_id() for locality of the nearest memory node-wise. However, > > numa_mem_id() [and the other related APIs] are only useful if > > CONFIG_HAVE_MEMORYLESS_NODES is set. This is only the case for ia64 > > currently, but clearly we can have memoryless nodes on ppc64. Add the > > Kconfig option and define it to be the same value as CONFIG_NUMA. > > > > On the LPAR in question, which was very inefficiently using slabs, this > > took the slab consumption at boot from roughly 7GB to roughly 4GB. > > Err, this should have been > > Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com> > > ! > > Sorry about that Ben! > > > --- > > Ben, the only question I have wrt this change is if it's appropriate to > > change it for all powerpc configs (that have NUMA on)? > > I'm suspecting that Ben will request that the proper set_numa_mem() calls are done for ppc init to make this actually do anything other than return numa_mem_id() == numa_node_id(). > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > index 25493a0..bb2d5fe 100644 > > --- a/arch/powerpc/Kconfig > > +++ b/arch/powerpc/Kconfig > > @@ -447,6 +447,9 @@ config NODES_SHIFT > > default "4" > > depends on NEED_MULTIPLE_NODES > > > > +config HAVE_MEMORYLESS_NODES > > + def_bool NUMA > > + > > config ARCH_SELECT_MEMORY_MODEL > > def_bool y > > depends on PPC64
On 13.02.2014 [14:45:49 -0800], David Rientjes wrote: > On Thu, 13 Feb 2014, Nishanth Aravamudan wrote: > > > > Anton Blanchard found an issue with an LPAR that had no memory in Node > > > 0. Christoph Lameter recommended, as one possible solution, to use > > > numa_mem_id() for locality of the nearest memory node-wise. However, > > > numa_mem_id() [and the other related APIs] are only useful if > > > CONFIG_HAVE_MEMORYLESS_NODES is set. This is only the case for ia64 > > > currently, but clearly we can have memoryless nodes on ppc64. Add the > > > Kconfig option and define it to be the same value as CONFIG_NUMA. > > > > > > On the LPAR in question, which was very inefficiently using slabs, this > > > took the slab consumption at boot from roughly 7GB to roughly 4GB. > > > > Err, this should have been > > > > Signed-off-by: Nishanth Aravamudan <nacc@linux.vnet.ibm.com> > > > > ! > > > > Sorry about that Ben! > > > > > --- > > > Ben, the only question I have wrt this change is if it's appropriate to > > > change it for all powerpc configs (that have NUMA on)? > > > > > I'm suspecting that Ben will request that the proper set_numa_mem() calls > are done for ppc init to make this actually do anything other than return > numa_mem_id() == numa_node_id(). You're right, thanks for pointing this out. I could have sworn that in my previous debugging I saw proper NUMA information, but perhaps it was just correct based upon the system configuration. > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > > index 25493a0..bb2d5fe 100644 > > > --- a/arch/powerpc/Kconfig > > > +++ b/arch/powerpc/Kconfig > > > @@ -447,6 +447,9 @@ config NODES_SHIFT > > > default "4" > > > depends on NEED_MULTIPLE_NODES > > > > > > +config HAVE_MEMORYLESS_NODES > > > + def_bool NUMA > > > + > > > config ARCH_SELECT_MEMORY_MODEL > > > def_bool y > > > depends on PPC64 >
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 25493a0..bb2d5fe 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -447,6 +447,9 @@ config NODES_SHIFT default "4" depends on NEED_MULTIPLE_NODES +config HAVE_MEMORYLESS_NODES + def_bool NUMA + config ARCH_SELECT_MEMORY_MODEL def_bool y depends on PPC64