Skip to content

hugetlb: V6 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 Latest6 patches 14 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6hugetlb: rework hstate_next_node_* functionsmm/hugetlb.c+45 -250 replies
2/6hugetlb: add nodemask arg to huge page alloc, free and surplus adjust fcnsmm/hugetlb.c+71 -490 replies
3/6hugetlb: introduce alloc_nodemask_of_nodeinclude/linux/nodemask.h+20 -26 replies
4/6hugetlb: derive huge pages nodes allowed from task mempolicyinclude/linux/mempolicy.h mm/hugetlb.c mm/mempolicy.c+65 -12 replies
5/6hugetlb: add per node hstate attributesdrivers/base/node.c include/linux/node.h mm/hugetlb.c+251 -306 replies
6/6hugetlb: update hugetlb documentation for mempolicy based management.Documentation/vm/hugetlbpage.txt+175 -880 replies

Reviews trailers per patch

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

PatchDavid RientjesMel Gorman
1/6A-b R-b
2/6A-b R-b
3/6
4/6A-b
5/6A-b A-b
6/6A-b

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/6] hugetlb: V6 constrain allocation/free based on task mempolicy

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

Against: 2.6.31-rc7-mmotm-090827-1651

This is V6 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 V6 [patches 1-6] 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 "nr_hugepages", 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 addresses more review comments, described in the patches.

Attached to V6, I'm sending 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. The "nodes with memory" state already tracks memory/node hot-plug. Further, 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.

Because of the interaction with memory hotplug, these 3 patches will likely require more work and testing before merging. The first six patches do not depend on these 3 and, IMO, need not wait for them.

--
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>