linux-numa.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lee Schermerhorn <lee.schermerhorn@hp.com>
To: linux-mm@kvack.org, linux-numa@vger.kernel.org
Cc: akpm@linux-foundation.org, Mel Gorman <mel@csn.ul.ie>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	Nishanth Aravamudan <nacc@us.ibm.com>,
	andi@firstfloor.org, David Rientjes <rientjes@google.com>,
	Adam Litke <agl@us.ibm.com>, Andy Whitcroft <apw@canonical.com>,
	eric.whitney@hp.com
Subject: [PATCH 0/12] hugetlb: V10 numa control of persistent huge pages alloc/free
Date: Thu, 08 Oct 2009 12:24:54 -0400	[thread overview]
Message-ID: <20091008162454.23192.91832.sendpatchset@localhost.localdomain> (raw)

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

Against:  2.6.31-mmotm-090925-1435

This is V10 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 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", 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 addressed review comments, described in the patches, and included 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 completed V7.

V8 reorganized the sysctl and sysfs attribute handlers to default
the nodes to default or define the nodes_allowed mask up in the
handlers and pass nodes_allowed [pointer] to set_max_huge_pages().
This cleanup was suggested by David Rientjes.  V8 also merged Mel
Gorman's "nr_hugepages_mempolicy" back into the patch to compute
nodes_allowed from mempolicy.

V8 turned out to be too large a reorg to pull off without botching
something.  V9 attempted to fix these.  In the meantime, David Rientjes
had posted a patch to generalize NODEMASK_ALLOC.  This cause a build
error in the series.  David provided a patch to fix the build failure.
David's fixup patch was included in V9.  This caused V9 to depend
on David's patch.

V10 addresses more review comments and folds the patch to accomodate
David R's rework of NODEMASK_ALLOC into the preceeding patch so that
the patch will build cleanly.  David's "make NODEMASK_ALLOC more general"
patch has been added to this series, along with another patch from
David to fix a problem with memory hotplug that this series depends
on.

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

             reply	other threads:[~2009-10-08 16:24 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-08 16:24 Lee Schermerhorn [this message]
2009-10-08 16:25 ` [PATCH 1/12] nodemask: make NODEMASK_ALLOC more general Lee Schermerhorn
2009-10-08 20:17   ` David Rientjes
2009-10-08 16:25 ` [PATCH 2/12] hugetlb: rework hstate_next_node_* functions Lee Schermerhorn
2009-10-08 16:25 ` [PATCH 3/12] hugetlb: add nodemask arg to huge page alloc, free and surplus adjust fcns Lee Schermerhorn
2009-10-08 20:32   ` David Rientjes
2009-10-08 16:25 ` [PATCH 4/12] hugetlb: factor init_nodemask_of_node Lee Schermerhorn
2009-10-08 20:20   ` David Rientjes
2009-10-08 16:25 ` [PATCH 5/12] hugetlb: derive huge pages nodes allowed from task mempolicy Lee Schermerhorn
2009-10-08 21:22   ` [patch] mm: add gfp flags for NODEMASK_ALLOC slab allocations David Rientjes
2009-10-09  1:01     ` KAMEZAWA Hiroyuki
2009-10-08 16:25 ` [PATCH 6/12] hugetlb: add generic definition of NUMA_NO_NODE Lee Schermerhorn
2009-10-08 20:16   ` Christoph Lameter
2009-10-08 20:26     ` David Rientjes
2009-10-27 21:44       ` [patch -mm] acpi: remove NID_INVAL David Rientjes
2009-10-28 14:53         ` Cyrill Gorcunov
2009-10-29 18:40         ` Christoph Lameter
2009-10-08 16:25 ` [PATCH 7/12] hugetlb: add per node hstate attributes Lee Schermerhorn
2009-10-08 20:42   ` David Rientjes
2009-10-09 12:57     ` Lee Schermerhorn
2009-10-09 22:10       ` David Rientjes
2009-10-09 13:49     ` Lee Schermerhorn
2009-10-09 22:18       ` David Rientjes
2009-10-12 15:41         ` Lee Schermerhorn
2009-10-13  2:09           ` David Rientjes
2009-10-08 16:25 ` [PATCH 8/12] hugetlb: update hugetlb documentation for NUMA controls Lee Schermerhorn
2009-10-08 16:25 ` [PATCH 9/12] hugetlb: use only nodes with memory for huge pages Lee Schermerhorn
2009-10-08 16:26 ` [PATCH 10/12] mm: clear node in N_HIGH_MEMORY and stop kswapd when all memory is offlined Lee Schermerhorn
2009-10-08 20:19   ` David Rientjes
2009-10-08 16:26 ` [PATCH 11/12] hugetlb: handle memory hot-plug events Lee Schermerhorn
2009-10-08 16:26 ` [PATCH 12/12] hugetlb: offload per node attribute registrations Lee Schermerhorn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091008162454.23192.91832.sendpatchset@localhost.localdomain \
    --to=lee.schermerhorn@hp.com \
    --cc=agl@us.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=apw@canonical.com \
    --cc=eric.whitney@hp.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-numa@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=nacc@us.ibm.com \
    --cc=randy.dunlap@oracle.com \
    --cc=rientjes@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).