diff options
author | Andy Whitcroft <apw@shadowen.org> | 2008-07-24 00:27:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:15 -0400 |
commit | 8a38082d21cbc5ec961da7dda195e98a9a064dcf (patch) | |
tree | e68f8c612c9f4be60d9e8b11a654e10416470155 /include/linux | |
parent | 0cad47cf13bc2e9142d3a11d9f50523797d0d4ea (diff) |
slub: record page flag overlays explicitly
SLUB reuses two page bits for internal purposes, it overlays PG_active and
PG_error. This is hidden away in slub.c. Document these overlays
explicitly in the main page-flags enum along with all the others.
Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Matt Mackall <mpm@selenic.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Tested-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/page-flags.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 7d8db1233e44..3fc586b7b90b 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h | |||
@@ -104,6 +104,10 @@ enum pageflags { | |||
104 | /* XEN */ | 104 | /* XEN */ |
105 | PG_pinned = PG_owner_priv_1, | 105 | PG_pinned = PG_owner_priv_1, |
106 | PG_savepinned = PG_dirty, | 106 | PG_savepinned = PG_dirty, |
107 | |||
108 | /* SLUB */ | ||
109 | PG_slub_frozen = PG_active, | ||
110 | PG_slub_debug = PG_error, | ||
107 | }; | 111 | }; |
108 | 112 | ||
109 | #ifndef __GENERATING_BOUNDS_H | 113 | #ifndef __GENERATING_BOUNDS_H |
@@ -169,6 +173,9 @@ PAGEFLAG(Reserved, reserved) __CLEARPAGEFLAG(Reserved, reserved) | |||
169 | PAGEFLAG(Private, private) __CLEARPAGEFLAG(Private, private) | 173 | PAGEFLAG(Private, private) __CLEARPAGEFLAG(Private, private) |
170 | __SETPAGEFLAG(Private, private) | 174 | __SETPAGEFLAG(Private, private) |
171 | 175 | ||
176 | __PAGEFLAG(SlubFrozen, slub_frozen) | ||
177 | __PAGEFLAG(SlubDebug, slub_debug) | ||
178 | |||
172 | /* | 179 | /* |
173 | * Only test-and-set exist for PG_writeback. The unconditional operators are | 180 | * Only test-and-set exist for PG_writeback. The unconditional operators are |
174 | * risky: they bypass page accounting. | 181 | * risky: they bypass page accounting. |