Re: [PATCH 6/6] Use one zonelist that is filtered by nodemask

Mel Gorman
2007-10-10T16:09:41Z

On (10/10/07 11:53), Lee Schermerhorn didst pronounce:
> On Tue, 2007-10-09 at 16:40 +0100, Mel Gorman wrote:
> <snip>
> > ====
> > Subject: Use specified node ID with GFP_THISNODE if available
> >
> > It had been assumed that __GFP_THISNODE meant allocating from the local
> > node and only the local node. However, users of alloc_pages_node() may also
> > specify GFP_THISNODE. In this case, only the specified node should be used.
> > This patch will allocate pages only from the requested node when GFP_THISNODE
> > is used with alloc_pages_node().
> >
> > [nacc@us.ibm.com: Detailed analysis of problem]
> > Found-by: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
> > Signed-off-by: Mel Gorman <mel@csn.ul.ie>
> >
> <snip>
>
> Mel: I applied this patch [to your v8 series--the most recent, I
> think?] and it does fix the problem. However, now I'm tripping over
> this warning in __alloc_pages_nodemask:
>
> /* Specifying both __GFP_THISNODE and nodemask is stupid. Warn user */
> WARN_ON(gfp_mask & __GFP_THISNODE);
>
> for each huge page allocated. Rather slow as my console is a virtual
> serial line and the warning includes the stack traceback.
>
> I think we want to just drop this warning, but maybe you have a tighter
> condition that you want to warn about?
>

I should drop the warning. The nature of the comment and the WARN_ON was
rooted in my belief that "THISNODE means this node I am running on" and the
warning was defensive programming just in case the assumption was broken. Now
we know the assumption was wrong and the warning is bogus.

Thanks Lee.

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab