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.

Signed-off-by: Nishanth Aravamudan <n...@linux.vnet.ibm.com>
Reviewed-by: Christoph Lameter <c...@linux.com>
Cc: Ben Herrenschmidt <b...@kernel.crashing.org>
Cc: Anton Blanchard <an...@samba.org>
Cc: David Rientjes <rient...@google.com>
Cc: Joonsoo Kim <iamjoonsoo....@lge.com>
Cc: linuxppc-dev@lists.ozlabs.org

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index a84816c..0f5cd68 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -449,6 +449,9 @@ config NODES_SHIFT
        default "4"
        depends on NEED_MULTIPLE_NODES
 
+config HAVE_MEMORYLESS_NODES
+       def_bool NUMA
+
 config USE_PERCPU_NUMA_NODE_ID
        def_bool y
        depends on NUMA

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to