aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2008-04-28 05:12:47 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-28 11:58:21 -0400
commite26831814998cee8e6d9f0a9854cb46c516f5547 (patch)
treefb3dcd791ceaac8b04fdcc853c4839b032e64733
parentbf2ae2b37c06cc9fb6fc03d99617f1161939980f (diff)
pageflags: use an enum for the flags
Use an enum to ease the maintenance of page flags. This is going to change the numbering from 0 to 18. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Andy Whitcroft <apw@shadowen.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Cc: Rik van Riel <riel@redhat.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--include/linux/page-flags.h56
1 files changed, 26 insertions, 30 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index b5b30f1c1e59..d66971530caa 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -67,35 +67,29 @@
67 * FLAGS_RESERVED which defines the width of the fields section 67 * FLAGS_RESERVED which defines the width of the fields section
68 * (see linux/mmzone.h). New flags must _not_ overlap with this area. 68 * (see linux/mmzone.h). New flags must _not_ overlap with this area.
69 */ 69 */
70#define PG_locked 0 /* Page is locked. Don't touch. */ 70enum pageflags {
71#define PG_error 1 71 PG_locked, /* Page is locked. Don't touch. */
72#define PG_referenced 2 72 PG_error,
73#define PG_uptodate 3 73 PG_referenced,
74 74 PG_uptodate,
75#define PG_dirty 4 75 PG_dirty,
76#define PG_lru 5 76 PG_lru,
77#define PG_active 6 77 PG_active,
78#define PG_slab 7 /* slab debug (Suparna wants this) */ 78 PG_slab,
79 79 PG_owner_priv_1, /* Owner use. If pagecache, fs may use*/
80#define PG_owner_priv_1 8 /* Owner use. If pagecache, fs may use*/ 80 PG_checked = PG_owner_priv_1, /* Used by some filesystems */
81#define PG_arch_1 9 81 PG_pinned = PG_owner_priv_1, /* Xen pinned pagetable */
82#define PG_reserved 10 82 PG_arch_1,
83#define PG_private 11 /* If pagecache, has fs-private data */ 83 PG_reserved,
84 84 PG_private, /* If pagecache, has fs-private data */
85#define PG_writeback 12 /* Page is under writeback */ 85 PG_writeback, /* Page is under writeback */
86#define PG_compound 14 /* Part of a compound page */ 86 PG_compound, /* A compound page */
87#define PG_swapcache 15 /* Swap page: swp_entry_t in private */ 87 PG_swapcache, /* Swap page: swp_entry_t in private */
88 88 PG_mappedtodisk, /* Has blocks allocated on-disk */
89#define PG_mappedtodisk 16 /* Has blocks allocated on-disk */ 89 PG_reclaim, /* To be reclaimed asap */
90#define PG_reclaim 17 /* To be reclaimed asap */ 90 /* PG_readahead is only used for file reads; PG_reclaim is only for writes */
91#define PG_buddy 19 /* Page is free, on buddy lists */ 91 PG_readahead = PG_reclaim, /* Reminder to do async read-ahead */
92 92 PG_buddy, /* Page is free, on buddy lists */
93/* PG_readahead is only used for file reads; PG_reclaim is only for writes */
94#define PG_readahead PG_reclaim /* Reminder to do async read-ahead */
95
96/* PG_owner_priv_1 users should have descriptive aliases */
97#define PG_checked PG_owner_priv_1 /* Used by some filesystems */
98#define PG_pinned PG_owner_priv_1 /* Xen pinned pagetable */
99 93
100#if (BITS_PER_LONG > 32) 94#if (BITS_PER_LONG > 32)
101/* 95/*
@@ -105,8 +99,10 @@
105 * 64 bit | FIELDS | ?????? FLAGS | 99 * 64 bit | FIELDS | ?????? FLAGS |
106 * 63 32 0 100 * 63 32 0
107 */ 101 */
108#define PG_uncached 31 /* Page has been mapped as uncached */ 102 PG_uncached = 31, /* Page has been mapped as uncached */
109#endif 103#endif
104 NR_PAGEFLAGS
105};
110 106
111/* 107/*
112 * Manipulation of page state flags 108 * Manipulation of page state flags