Re: [patch] GFP_ZONEMASK vs. MAX_NR_ZONES

From: William Lee Irwin III (wli@holomorphy.com)
Date: Mon Mar 17 2003 - 21:54:24 EST


On Mon, Mar 17, 2003 at 05:53:08PM -0800, Matthew Dobson wrote:
> node_zonelists looks like it should really be declared of size
> MAX_NR_ZONES, not GFP_ZONEMASK. GFP_ZONEMASK is currently 15, making
> node_zonelists an array of 16 elements. The extra zonelists are all
> just duplicates of the *real* zonelists, namely the first 3 entries.
> Again, if anyone can explain to me why I'm wrong in my thinking, I'd
> love to know. There's certainly no way you could bitwise-and something
> with any combination of the GFP_DMA and GFP_HIGHMEM flags to refer to
> the 12th zonelist or some such! Or am I crazy?

No, you're not crazy, you're right:

#define __GFP_DMA 0x01
#define __GFP_HIGHMEM 0x02

/* Action modifiers - doesn't change the zoning */
#define __GFP_WAIT 0x10 /* Can wait and reschedule? */
#define __GFP_HIGH 0x20 /* Should access emergency pools? */
#define __GFP_IO 0x40 /* Can start physical IO? */
#define __GFP_FS 0x80 /* Can call down to low-level FS? */
#define __GFP_COLD 0x100 /* Cache-cold page required */
#define __GFP_NOWARN 0x200 /* Suppress page allocation failure warning */

bits 3-6 of gfp masks are totally unused.

-- wli
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 23 2003 - 22:00:22 EST