From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Christoph Lameter <clameter@sgi.com>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org, ak@suse.de,
Nishanth Aravamudan <nacc@us.ibm.com>
Subject: Re: [patch 2/3] Fix GFP_THISNODE behavior for memoryless nodes
Date: Thu, 14 Jun 2007 10:55:29 -0400 [thread overview]
Message-ID: <1181832930.5410.37.camel@localhost> (raw)
In-Reply-To: <Pine.LNX.4.64.0706140721510.28544@schroedinger.engr.sgi.com>
On Thu, 2007-06-14 at 07:24 -0700, Christoph Lameter wrote:
> On Thu, 14 Jun 2007, Lee Schermerhorn wrote:
>
> > > That check is already done by __alloc_pages.
> >
> > You mean in get_page_from_freelist()? No, it only checks that the zone
> > under consideration is on the same node as the zone at the start of the
> > list. This can be off-node if the node is populated only at lower
> > zones; and the zonelists are in zone-order.
>
> See the later discussion. I did not see the use the nodes pgdat here that
> you only have in alloc_pages_node().
>
> > > Ummm... Slub would need to consult node_memory_map instead I guess.
> >
> > Probably should check the node_memory_map to avoid attempting
> > allocations from completely memoryless nodes. However, it should still
> > be able to handle nulls from alloc_pages_nodes() because of the
> > scenarios discussed above.
>
> It is able to handle NULLs during usual operations but not during bootstrap.
??? it has to handle memoryless nodes, right? if so, why can't it
handle alloc_pages_node('THISNODE,...) returning NULL? Too late in the
process?
>
> > Again, node_memory_map can't detect the "first zone in zonelist
> > off-node" situation. That's the one that alloc_pages_node() must guard
> > against. So, it can/should/must return NULL when attempting to
> > allocate from a higher zone that is off-node.
>
> I think GFP_THISNODE should not fail in that case.
You think it should return off-node memory? If it can, we have to check
the returned page's nid--e.g., in alloc_fresh_huge_page()--where we
really don't want an off-node page. Could do that, I suppose.
Or do you mean that GPF_THISNODE should return memory from the lower
zones, if it satisfies the order requirement? Your custom 'thisnode'
zonelist will enable this, right? That would work for my particular
config of my platform, but on a larger platform, I'd have a larger DMA
zone and wouldn't want hugetlb pages coming from there.
I guess that in the long run, I need to hope that Nish's per node huge
page attribute goes in. Then, we can provide a fancy script to configure
huge pages on a specific set of nodes, rather than relying on the kernel
to distribute them evenly across the set of nodes that "make sense" for
the given platform.
Later,
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:[~2007-06-14 14:55 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-12 20:48 [patch 0/3] Fixes for NUMA allocations on " clameter
2007-06-12 20:48 ` [patch 1/3] NUMA: introduce node_memory_map clameter
2007-06-12 21:03 ` David Rientjes
2007-06-12 21:08 ` Christoph Lameter
2007-06-12 21:10 ` David Rientjes
2007-06-12 21:27 ` Christoph Lameter
2007-06-12 21:34 ` David Rientjes
2007-06-12 21:37 ` Christoph Lameter
2007-06-12 21:38 ` David Rientjes
2007-06-12 21:36 ` Nishanth Aravamudan
2007-06-12 21:39 ` Christoph Lameter
2007-06-12 21:42 ` Nishanth Aravamudan
2007-06-12 21:45 ` David Rientjes
2007-06-12 22:26 ` Christoph Lameter
2007-06-12 22:32 ` Nishanth Aravamudan
2007-06-13 9:14 ` Andy Whitcroft
2007-06-12 20:48 ` [patch 2/3] Fix GFP_THISNODE behavior for memoryless nodes clameter
2007-06-12 21:03 ` David Rientjes
2007-06-12 21:07 ` Christoph Lameter
2007-06-12 21:08 ` David Rientjes
2007-06-12 21:25 ` Christoph Lameter
2007-06-12 21:34 ` David Rientjes
2007-06-12 21:51 ` Nishanth Aravamudan
2007-06-13 21:10 ` Lee Schermerhorn
2007-06-13 21:57 ` Nishanth Aravamudan
2007-06-13 22:46 ` Christoph Lameter
2007-06-13 23:11 ` Nishanth Aravamudan
2007-06-13 23:15 ` Christoph Lameter
2007-06-13 23:20 ` Nishanth Aravamudan
2007-06-13 23:26 ` Christoph Lameter
2007-06-13 23:32 ` Nishanth Aravamudan
2007-06-13 23:53 ` Christoph Lameter
2007-06-14 0:04 ` Nishanth Aravamudan
2007-06-14 14:18 ` Lee Schermerhorn
2007-06-14 14:24 ` Christoph Lameter
2007-06-14 14:55 ` Lee Schermerhorn [this message]
2007-06-14 15:51 ` Christoph Lameter
2007-06-14 7:07 ` Christoph Lameter
2007-06-14 14:23 ` Nishanth Aravamudan
2007-06-12 20:48 ` [patch 3/3] Fix MPOL_INTERLEAVE " clameter
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=1181832930.5410.37.camel@localhost \
--to=lee.schermerhorn@hp.com \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=clameter@sgi.com \
--cc=linux-mm@kvack.org \
--cc=nacc@us.ibm.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