From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: David Rientjes <rientjes@google.com>
Cc: Mel Gorman <mel@csn.ul.ie>,
linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
Nishanth Aravamudan <nacc@us.ibm.com>,
Adam Litke <agl@us.ibm.com>, Andy Whitcroft <apw@canonical.com>,
eric.whitney@hp.com, Ranjit Manomohan <ranjitm@google.com>
Subject: Re: [PATCH 0/5] Huge Pages Nodes Allowed
Date: Wed, 24 Jun 2009 07:25:24 -0400 [thread overview]
Message-ID: <1245842724.6439.19.camel@lts-notebook> (raw)
In-Reply-To: <alpine.DEB.2.00.0906240006540.16528@chino.kir.corp.google.com>
On Wed, 2009-06-24 at 00:11 -0700, David Rientjes wrote:
> On Thu, 18 Jun 2009, David Rientjes wrote:
>
> > Manipulating hugepages via a nodemask seems less ideal than, as you
> > mentioned, per-node hugepage controls, probably via
> > /sys/kernel/system/node/node*/nr_hugepages. This type of interface
> > provides all the functionality that this patchset does, including hugepage
> > allocation and freeing, but with more power to explicitly allocate and
> > free on targeted nodes. /proc/sys/vm/nr_hugepages would remain to
> > round-robin the allocation (and freeing, with your patch 1/5 which I
> > ack'd).
> >
> > Such an interface would also automatically deal with all memory
> > hotplug/remove issues without storing or keeping a nodemask updated.
> >
>
> Expanding this proposal out a little bit, we'd want all the power of the
> /sys/kernel/mm/hugepages tunables for each node. The best way of doing
> that is probably to keep the current /sys/kernel/mm/hugepages directory as
> is (already published Documentation/ABI/testing/sysfs-kernel-mm-hugepages)
> for the system-wide hugepage state and then add individual
> `hugepages-<size>kB' directories to each /sys/devices/system/node/node* to
> target allocations and freeing for the per-node hugepage state.
> Otherwise, we lack node targeted support for multiple hugepagesz= users.
David:
Nish mentioned this to me a while back when I asked about his patches.
That's one of my reasons for seeing if the simpler [IMO] nodes_allowed
would be sufficient. I'm currently updating the nodes_allowed series
per Mel's cleanup suggestions. I'll then prototype Mel's preferred
method of using the task's mempolicy. I still have reservations about
this: static huge page allocation is currently not constrained by
policy nor cpusets, and I can't tell whether the task's mempolicy was
set explicitly to contstrain the huge pages or just inherited from the
parent shell.
Next I'll also dust off Nish's old per node hugetlb control patches and
see what it task to update them for the multiple sizes. It will look
pretty much as you suggest. Do you have any suggestions for a boot
command line syntax to specify per node huge page counts at boot time
[assuming we still want this]? Currently, for default huge page size,
distributed across nodes, we have:
hugepages=<N>
I was thinking something like:
hugepages=(node:count,...)
using the '(' as a flag for per node counts, w/o needing to prescan for
':'
Thoughts?
Lee
--
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>
next prev parent reply other threads:[~2009-06-24 11:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-16 13:52 [PATCH 0/5] Huge Pages Nodes Allowed Lee Schermerhorn
2009-06-16 13:52 ` [PATCH 1/5] Free huge pages round robin to balance across nodes Lee Schermerhorn
2009-06-17 13:18 ` Mel Gorman
2009-06-17 17:16 ` Lee Schermerhorn
2009-06-18 19:08 ` David Rientjes
2009-06-16 13:52 ` [PATCH 2/5] Add nodes_allowed members to hugepages hstate struct Lee Schermerhorn
2009-06-17 13:35 ` Mel Gorman
2009-06-17 17:38 ` Lee Schermerhorn
2009-06-18 9:17 ` Mel Gorman
2009-06-16 13:53 ` [PATCH 3/5] Use per hstate nodes_allowed to constrain huge page allocation Lee Schermerhorn
2009-06-17 13:39 ` Mel Gorman
2009-06-17 17:47 ` Lee Schermerhorn
2009-06-18 9:18 ` Mel Gorman
2009-06-16 13:53 ` [PATCH 4/5] Add sysctl for default hstate nodes_allowed Lee Schermerhorn
2009-06-17 13:41 ` Mel Gorman
2009-06-17 17:52 ` Lee Schermerhorn
2009-06-18 9:19 ` Mel Gorman
2009-06-16 13:53 ` [PATCH 5/5] Update huge pages kernel documentation Lee Schermerhorn
2009-06-18 18:49 ` David Rientjes
2009-06-18 19:06 ` Lee Schermerhorn
2009-06-17 13:02 ` [PATCH 0/5] Huge Pages Nodes Allowed Mel Gorman
2009-06-17 17:15 ` Lee Schermerhorn
2009-06-18 9:33 ` Mel Gorman
2009-06-18 14:46 ` Lee Schermerhorn
2009-06-18 15:00 ` Mel Gorman
2009-06-18 19:08 ` David Rientjes
2009-06-24 7:11 ` David Rientjes
2009-06-24 11:25 ` Lee Schermerhorn [this message]
2009-06-24 22:26 ` David Rientjes
2009-06-25 2:14 ` Lee Schermerhorn
2009-06-25 19:22 ` David Rientjes
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=1245842724.6439.19.camel@lts-notebook \
--to=lee.schermerhorn@hp.com \
--cc=agl@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=eric.whitney@hp.com \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=nacc@us.ibm.com \
--cc=ranjitm@google.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 NNTP newsgroup(s).