]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/page-flags.h
page flags: add PAGEFLAGS_FALSE for flags that are always false
[linux-2.6-omap-h63xx.git] / include / linux / page-flags.h
index ed7659adfaaf4bfc15ed053223389ec55cc342f9..d16efa9066d9b238d7a65270cadb835c368bd9d9 100644 (file)
@@ -79,8 +79,6 @@ enum pageflags {
        PG_active,
        PG_slab,
        PG_owner_priv_1,        /* Owner use. If pagecache, fs may use*/
-       PG_checked = PG_owner_priv_1, /* Used by some filesystems */
-       PG_pinned = PG_owner_priv_1, /* Xen pinned pagetable */
        PG_arch_1,
        PG_reserved,
        PG_private,             /* If pagecache, has fs-private data */
@@ -89,19 +87,9 @@ enum pageflags {
        PG_swapcache,           /* Swap page: swp_entry_t in private */
        PG_mappedtodisk,        /* Has blocks allocated on-disk */
        PG_reclaim,             /* To be reclaimed asap */
-       /* PG_readahead is only used for file reads; PG_reclaim is only for writes */
-       PG_readahead = PG_reclaim, /* Reminder to do async read-ahead */
        PG_buddy,               /* Page is free, on buddy lists */
-
-#if (BITS_PER_LONG > 32)
-/*
- * 64-bit-only flags build down from bit 31
- *
- * 32 bit  -------------------------------| FIELDS |       FLAGS         |
- * 64 bit  |           FIELDS             | ??????         FLAGS         |
- *         63                            32                              0
- */
-       PG_uncached = 31,               /* Page has been mapped as uncached */
+#ifdef CONFIG_IA64_UNCACHED_ALLOCATOR
+       PG_uncached,            /* Page has been mapped as uncached */
 #endif
        __NR_PAGEFLAGS
 };
@@ -146,6 +134,10 @@ static inline int TestClearPage##uname(struct page *page)          \
 #define __PAGEFLAG(uname, lname) TESTPAGEFLAG(uname, lname)            \
        __SETPAGEFLAG(uname, lname)  __CLEARPAGEFLAG(uname, lname)
 
+#define PAGEFLAG_FALSE(uname)                                          \
+static inline int Page##uname(struct page *page)                       \
+                       { return 0; }
+
 #define TESTSCFLAG(uname, lname)                                       \
        TESTSETFLAG(uname, lname) TESTCLEARFLAG(uname, lname)
 
@@ -158,8 +150,8 @@ PAGEFLAG(Dirty, dirty) TESTSCFLAG(Dirty, dirty) __CLEARPAGEFLAG(Dirty, dirty)
 PAGEFLAG(LRU, lru) __CLEARPAGEFLAG(LRU, lru)
 PAGEFLAG(Active, active) __CLEARPAGEFLAG(Active, active)
 __PAGEFLAG(Slab, slab)
-PAGEFLAG(Checked, checked)             /* Used by some filesystems */
-PAGEFLAG(Pinned, pinned)               /* Xen pinned pagetable */
+PAGEFLAG(Checked, owner_priv_1)                /* Used by some filesystems */
+PAGEFLAG(Pinned, owner_priv_1) TESTSCFLAG(Pinned, owner_priv_1) /* Xen */
 PAGEFLAG(Reserved, reserved) __CLEARPAGEFLAG(Reserved, reserved)
 PAGEFLAG(Private, private) __CLEARPAGEFLAG(Private, private)
        __SETPAGEFLAG(Private, private)
@@ -174,32 +166,28 @@ PAGEFLAG(MappedToDisk, mappedtodisk)
 
 /* PG_readahead is only used for file reads; PG_reclaim is only for writes */
 PAGEFLAG(Reclaim, reclaim) TESTCLEARFLAG(Reclaim, reclaim)
-PAGEFLAG(Readahead, readahead)         /* Reminder to do async read-ahead */
+PAGEFLAG(Readahead, reclaim)           /* Reminder to do async read-ahead */
 
 #ifdef CONFIG_HIGHMEM
 /*
  * Must use a macro here due to header dependency issues. page_zone() is not
  * available at this point.
  */
-#define PageHighMem(__p) is_highmem(page_zone(page))
+#define PageHighMem(__p) is_highmem(page_zone(__p))
 #else
-static inline int PageHighMem(struct page *page)
-{
-       return 0;
-}
+PAGEFLAG_FALSE(HighMem)
 #endif
 
 #ifdef CONFIG_SWAP
 PAGEFLAG(SwapCache, swapcache)
 #else
-static inline int PageSwapCache(struct page *page)
-{
-       return 0;
-}
+PAGEFLAG_FALSE(SwapCache)
 #endif
 
-#if (BITS_PER_LONG > 32)
+#ifdef CONFIG_IA64_UNCACHED_ALLOCATOR
 PAGEFLAG(Uncached, uncached)
+#else
+PAGEFLAG_FALSE(Uncached)
 #endif
 
 static inline int PageUptodate(struct page *page)