From: Mel Gorman <mel@csn.ul.ie>
To: Christoph Lameter <clameter@sgi.com>
Cc: akpm@osdl.org, linux-mm@kvack.org, pj@sgi.com, jes@sgi.com,
Andy Whitcroft <apw@shadowen.org>
Subject: Re: [1/3] Add __GFP_THISNODE to avoid fallback to other nodes and ignore cpuset/memory policy restrictions.
Date: Tue, 8 Aug 2006 18:16:45 +0100 (IST) [thread overview]
Message-ID: <Pine.LNX.4.64.0608081807380.24142@skynet.skynet.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0608081001220.27866@schroedinger.engr.sgi.com>
On Tue, 8 Aug 2006, Christoph Lameter wrote:
> On Tue, 8 Aug 2006, Mel Gorman wrote:
>
>> On Tue, 8 Aug 2006, Christoph Lameter wrote:
>>
>>> Add a new gfp flag __GFP_THISNODE to avoid fallback to other nodes. This
>>> flag
>>> is essential if a kernel component requires memory to be located on a
>>> certain node. It will be needed for alloc_pages_node() to force allocation
>>> on the indicated node and for alloc_pages() to force allocation on the
>>> current node.
>>>
>>
>> GFP flags are getting a bit tight. Could this also be done by providing
>
> Right they are gettin scarce.
>
>> alloc_pages_zonelist(int nid, gfp_t gfp_mask, unsigned int order, struct
>> zonelist *));
>>
>> alloc_pages_node() would be altered to call alloc_pages_zonelist() with the
>> currect zonelist. To avoid fallbacks, callers would need a helper function
>> that provided a zonelist with just zones in a single node.
>
> We would need a whole selection of allocators for this purpose. Some
> candidates:
>
> alloc_pages_current
> alloc_pages_node
> vmalloc
> vmalloc_node
> dma_alloc_coherent
>
>From your set of patches, it's only used for page migration and the IA64
uncached allocator both of which are using alloc_pages_node() at the
moment. Do you see a widespread need to avoid fallbacks in other areas?
Also, I just noticed you didn't update GFP_LEVEL_MASK with your new flag.
That may cause interesting failures in the future, particularly if you
call into the slab allocator with the new flag.
I'm not rabidly against the use of a GFP flag, I just want to be sure it's
the only option.
> etc
>
>
> > That would give the ability to avoid fallbacks at least. Avoiding policy
>> temporarily is a bit harder but it is really needed?
>
> Policy and cpusets can redirect allocations. That is one of the key
> problems.
>
Could the policies and cpusets be avoided by allowing a zonelist to be
specified?
--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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:[~2006-08-08 17:16 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-08 16:33 Christoph Lameter
2006-08-08 16:34 ` [2/3] sys_move_pages: Do not fall back to other nodes Christoph Lameter
2006-08-08 16:37 ` [3/3] Guarantee that the uncached allocator gets pages on the correct node Christoph Lameter
2006-08-08 16:56 ` [1/3] Add __GFP_THISNODE to avoid fallback to other nodes and ignore cpuset/memory policy restrictions Andy Whitcroft
2006-08-08 17:01 ` Christoph Lameter
2006-08-08 16:59 ` Mel Gorman
2006-08-08 17:03 ` Christoph Lameter
2006-08-08 17:16 ` Mel Gorman [this message]
2006-08-08 17:51 ` Christoph Lameter
2006-08-08 17:47 ` Paul Jackson
2006-08-08 17:59 ` Christoph Lameter
2006-08-08 18:18 ` Paul Jackson
2006-08-08 18:49 ` Christoph Lameter
2006-08-08 20:35 ` Paul Jackson
2006-08-09 9:33 ` Mel Gorman
2006-08-09 1:34 ` KAMEZAWA Hiroyuki
2006-08-09 2:00 ` Christoph Lameter
2006-08-10 19:41 ` Andrew Morton
2006-08-11 3:16 ` Christoph Lameter
2006-08-11 18:08 ` Andrew Morton
2006-08-11 18:15 ` Christoph Lameter
2006-08-11 18:42 ` Andrew Morton
2006-08-11 18:51 ` Christoph Lameter
2006-08-11 19:15 ` Andrew Morton
2006-08-11 19:16 ` Christoph Lameter
2006-08-11 19:41 ` Dave McCracken
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=Pine.LNX.4.64.0608081807380.24142@skynet.skynet.ie \
--to=mel@csn.ul.ie \
--cc=akpm@osdl.org \
--cc=apw@shadowen.org \
--cc=clameter@sgi.com \
--cc=jes@sgi.com \
--cc=linux-mm@kvack.org \
--cc=pj@sgi.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