aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/page-flags.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/page-flags.h')
-rw-r--r--include/linux/page-flags.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index d66971530caa..00e55e23b777 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -6,7 +6,10 @@
6#define PAGE_FLAGS_H 6#define PAGE_FLAGS_H
7 7
8#include <linux/types.h> 8#include <linux/types.h>
9#ifndef __GENERATING_BOUNDS_H
9#include <linux/mm_types.h> 10#include <linux/mm_types.h>
11#include <linux/bounds.h>
12#endif /* !__GENERATING_BOUNDS_H */
10 13
11/* 14/*
12 * Various page->flags bits: 15 * Various page->flags bits:
@@ -59,13 +62,12 @@
59 * extends from the high bits downwards. 62 * extends from the high bits downwards.
60 * 63 *
61 * | FIELD | ... | FLAGS | 64 * | FIELD | ... | FLAGS |
62 * N-1 ^ 0 65 * N-1 ^ 0
63 * (N-FLAGS_RESERVED) 66 * (NR_PAGEFLAGS)
64 * 67 *
65 * The fields area is reserved for fields mapping zone, node and SPARSEMEM 68 * The fields area is reserved for fields mapping zone, node (for NUMA) and
66 * section. The boundry between these two areas is defined by 69 * SPARSEMEM section (for variants of SPARSEMEM that require section ids like
67 * FLAGS_RESERVED which defines the width of the fields section 70 * SPARSEMEM_EXTREME with !SPARSEMEM_VMEMMAP).
68 * (see linux/mmzone.h). New flags must _not_ overlap with this area.
69 */ 71 */
70enum pageflags { 72enum pageflags {
71 PG_locked, /* Page is locked. Don't touch. */ 73 PG_locked, /* Page is locked. Don't touch. */
@@ -101,9 +103,11 @@ enum pageflags {
101 */ 103 */
102 PG_uncached = 31, /* Page has been mapped as uncached */ 104 PG_uncached = 31, /* Page has been mapped as uncached */
103#endif 105#endif
104 NR_PAGEFLAGS 106 __NR_PAGEFLAGS
105}; 107};
106 108
109#ifndef __GENERATING_BOUNDS_H
110
107/* 111/*
108 * Manipulation of page state flags 112 * Manipulation of page state flags
109 */ 113 */
@@ -304,4 +308,5 @@ static inline void set_page_writeback(struct page *page)
304 test_set_page_writeback(page); 308 test_set_page_writeback(page);
305} 309}
306 310
311#endif /* !__GENERATING_BOUNDS_H */
307#endif /* PAGE_FLAGS_H */ 312#endif /* PAGE_FLAGS_H */