linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Improve slab consumption with memoryless nodes
@ 2014-09-09 19:01 Nishanth Aravamudan
  2014-09-09 19:03 ` [PATCH v3] topology: add support for node_to_mem_node() to determine the fallback node Nishanth Aravamudan
  0 siblings, 1 reply; 10+ messages in thread
From: Nishanth Aravamudan @ 2014-09-09 19:01 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Han Pingtian, Matt Mackall, David Rientjes, Pekka Enberg,
	Linux Memory Management List, Paul Mackerras, Tejun Heo,
	Joonsoo Kim, linuxppc-dev, Christoph Lameter, Wanpeng Li,
	Anton Blanchard

Anton noticed (http://www.spinics.net/lists/linux-mm/msg67489.html) that
on ppc LPARs with memoryless nodes, a large amount of memory was
consumed by slabs and was marked unreclaimable. He tracked it down to
slab deactivations in the SLUB core when we allocate remotely, leading
to poor efficiency always when memoryless nodes are present.

After much discussion, Joonsoo provided a few patches that help
significantly. They don't resolve the problem altogether:

 - memory hotplug still needs testing, that is when a memoryless node
   becomes memory-ful, we want to dtrt
 - there are other reasons for going off-node than memoryless nodes,
   e.g., fully exhausted local nodes

Neither case is resolved with this series, but I don't think that should
block their acceptance, as they can be explored/resolved with follow-on
patches.

The series consists of:

[1/3] topology: add support for node_to_mem_node() to determine the fallback node
[2/3] slub: fallback to node_to_mem_node() node if allocating on memoryless node

 - Joonsoo's patches to cache the nearest node with memory for each
   NUMA node

[3/3] Partial revert of 81c98869faa5 (""kthread: ensure locality of task_struct allocations")

 - At Tejun's request, keep the knowledge of memoryless node fallback to
   the allocator core.

 include/linux/topology.h | 17 +++++++++++++++++
 kernel/kthread.c         |  2 +-
 mm/page_alloc.c          |  1 +
 mm/slub.c                | 24 ++++++++++++++++++------
 4 files changed, 37 insertions(+), 7 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-10 22:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-09 19:01 [PATCH 0/3] Improve slab consumption with memoryless nodes Nishanth Aravamudan
2014-09-09 19:03 ` [PATCH v3] topology: add support for node_to_mem_node() to determine the fallback node Nishanth Aravamudan
2014-09-09 19:05   ` [PATCH 2/3] slub: fallback to node_to_mem_node() node if allocating on memoryless node Nishanth Aravamudan
2014-09-09 19:06     ` [PATCH 3/3] Partial revert of 81c98869faa5 ("kthread: ensure locality of task_struct allocations") Nishanth Aravamudan
2014-09-10  0:11     ` [PATCH 2/3] slub: fallback to node_to_mem_node() node if allocating on memoryless node Andrew Morton
2014-09-10  0:55       ` Nishanth Aravamudan
2014-09-10  0:11   ` [PATCH v3] topology: add support for node_to_mem_node() to determine the fallback node Andrew Morton
2014-09-10  0:47     ` Nishanth Aravamudan
2014-09-10 19:06       ` Andrew Morton
2014-09-10 22:49         ` Nishanth Aravamudan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).