Skip to content

hugetlb: V7 constrain allocation/free based on task mempolicy

Lee Schermerhorn linux-mm linux-numa 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest11 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11hugetlb: rework hstate_next_node_* functionsmm/hugetlb.c+45 -253 replies
2/11hugetlb: add nodemask arg to huge page alloc, free and surplus adjust fcnsmm/hugetlb.c+71 -490 replies
3/11hugetlb: introduce alloc_nodemask_of_nodeinclude/linux/nodemask.h+20 -20 replies
4/11hugetlb: derive huge pages nodes allowed from task mempolicyinclude/linux/mempolicy.h mm/hugetlb.c mm/mempolicy.c+67 -10 replies
5/11hugetlb: add generic definition of NUMA_NO_NODEarch/ia64/include/asm/numa.h arch/x86/include/asm/topology.h include/linux/numa.h+4 -51 reply
6/11hugetlb: add per node hstate attributesdrivers/base/node.c include/linux/node.h mm/hugetlb.c+301 -300 replies
7/11hugetlb: update hugetlb documentation for mempolicy based management.Documentation/vm/hugetlbpage.txt+175 -881 reply
8/11hugetlb: Optionally use mempolicy for persistent huge page allocationDocumentation/vm/hugetlbpage.txt include/linux/hugetlb.h kernel/sysctl.c +1 more+114 -311 reply
9/11hugetlb: use only nodes with memory for huge pagesDocumentation/vm/hugetlbpage.txt mm/hugetlb.c+26 -250 replies
10/11hugetlb: handle memory hot-plug eventsDocumentation/vm/hugetlbpage.txt drivers/base/node.c+50 -60 replies
11/11hugetlb: offload per node attribute registrationsdrivers/base/node.c include/linux/node.h+47 -90 replies

Reviews trailers per patch

6 of 11 patches have a Reviewed-by or Acked-by.

PatchDavid RientjesMel Gorman
1/11A-b R-b
2/11A-b R-b
3/11
4/11A-b
5/11A-b A-b
6/11A-b
7/11A-b A-b
8/11
9/11
10/11
11/11

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 0/11] hugetlb: V7 constrain allocation/free based on task mempolicy

PATCH 0/11 hugetlb: numa control of persistent huge pages alloc/free

Against: 2.6.31-mmotm-090914-0157

This is V7 of a series of patches to provide control over the location of the allocation and freeing of persistent huge pages on a NUMA
platform. Please consider [at least patches 1-8] for merging into mmotm.

This series uses two mechanisms to constrain the nodes from which persistent huge pages are allocated: 1) the task NUMA mempolicy of the task modifying a new sysctl "nr_hugepages_mempolicy" [patch 8], based on a suggestion by Mel Gorman; and 2) a subset of the hugepages hstate sysfs attributes have been added [in V4] to each node system device under:

	/sys/devices/node/node[0-9]*/hugepages.

The per node attibutes allow direct assignment of a huge page count on a specific node, regardless of the task's mempolicy or cpuset constraints.

V5 addressed review comments -- changes described in patch descriptions.

V6 addressed more review comments, described in the patches.

V6 also included a 3 patch series that implements an enhancement suggested
by David Rientjes: the default huge page nodes allowed mask will be the
nodes with memory rather than all on-line nodes and we will allocate per node hstate attributes only for nodes with memory. This requires that we register a memory on/off-line notifier and [un]register the attributes on transitions to/from memoryless state.

V7 addresses review comments,, described in the patches, and includes a new patch, originally from Mel Gorman, to define a new vm sysctl and sysfs global hugepages attribute "nr_hugepages_mempolicy" rather than apply mempolicy contraints to pool adujstments via the pre-existing "nr_hugepages". The 3 patches to restrict hugetlb to visiting only nodes with memory and to add/remove per node hstate attributes on memory hotplug complete V7.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to [email protected]. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"[email protected]"> [email protected] </a>