diff options
author | Christoph Lameter <clameter@sgi.com> | 2008-04-28 05:12:47 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:21 -0400 |
commit | e26831814998cee8e6d9f0a9854cb46c516f5547 (patch) | |
tree | fb3dcd791ceaac8b04fdcc853c4839b032e64733 | |
parent | bf2ae2b37c06cc9fb6fc03d99617f1161939980f (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.h | 56 |
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. */ | 70 | enum 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 |