From a3b9c1d014d692c578dbab066f17030cde51b277 Mon Sep 17 00:00:00 2001 From: Andy Whitcroft Date: Sat, 10 Feb 2007 01:43:14 -0800 Subject: [PATCH] --- yaml --- r: 47415 b: refs/heads/master c: bd8029b66069d29fd02c304599411ca9bb7fa38c h: refs/heads/master i: 47413: fbde3fe81c48f824028cda35ea3e69895f98b866 47411: 6296f8bbf15e991e9655ef435c61b560839d7e6d 47407: a24f6894ce01c9f17a6ca13e2ebd1a92ce0918e2 v: v3 --- [refs] | 2 +- trunk/include/linux/mm.h | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index c69b3a66cc30..33ff869f51e2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ac6da669e2476dbdac89b357b05b5a79bc5b657 +refs/heads/master: bd8029b66069d29fd02c304599411ca9bb7fa38c diff --git a/trunk/include/linux/mm.h b/trunk/include/linux/mm.h index bb793a4c8e9e..26adfcc0d61a 100644 --- a/trunk/include/linux/mm.h +++ b/trunk/include/linux/mm.h @@ -437,15 +437,15 @@ static inline compound_page_dtor *get_compound_page_dtor(struct page *page) /* NODE:ZONE or SECTION:ZONE is used to ID a zone for the buddy allcator */ #ifdef NODE_NOT_IN_PAGEFLAGS #define ZONEID_SHIFT (SECTIONS_SHIFT + ZONES_SHIFT) +#define ZONEID_PGOFF ((SECTIONS_PGOFF < ZONES_PGOFF)? \ + SECTIONS_PGOFF : ZONES_PGOFF) #else #define ZONEID_SHIFT (NODES_SHIFT + ZONES_SHIFT) +#define ZONEID_PGOFF ((NODES_PGOFF < ZONES_PGOFF)? \ + NODES_PGOFF : ZONES_PGOFF) #endif -#if ZONES_WIDTH > 0 -#define ZONEID_PGSHIFT ZONES_PGSHIFT -#else -#define ZONEID_PGSHIFT NODES_PGOFF -#endif +#define ZONEID_PGSHIFT (ZONEID_PGOFF * (ZONEID_SHIFT != 0)) #if SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > FLAGS_RESERVED #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > FLAGS_RESERVED @@ -471,7 +471,6 @@ static inline enum zone_type page_zonenum(struct page *page) */ static inline int page_zone_id(struct page *page) { - BUILD_BUG_ON(ZONEID_PGSHIFT == 0 && ZONEID_MASK); return (page->flags >> ZONEID_PGSHIFT) & ZONEID_MASK; }