aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmzone.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmzone.h')
-rw-r--r--include/linux/mmzone.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 93a849f742db..ebfc238cc243 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -91,10 +91,21 @@ struct per_cpu_pageset {
91 * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible 91 * be 8 (2 ** 3) zonelists. GFP_ZONETYPES defines the number of possible
92 * combinations of zone modifiers in "zone modifier space". 92 * combinations of zone modifiers in "zone modifier space".
93 * 93 *
94 * As an optimisation any zone modifier bits which are only valid when
95 * no other zone modifier bits are set (loners) should be placed in
96 * the highest order bits of this field. This allows us to reduce the
97 * extent of the zonelists thus saving space. For example in the case
98 * of three zone modifier bits, we could require up to eight zonelists.
99 * If the left most zone modifier is a "loner" then the highest valid
100 * zonelist would be four allowing us to allocate only five zonelists.
101 * Use the first form for GFP_ZONETYPES when the left most bit is not
102 * a "loner", otherwise use the second.
103 *
94 * NOTE! Make sure this matches the zones in <linux/gfp.h> 104 * NOTE! Make sure this matches the zones in <linux/gfp.h>
95 */ 105 */
96#define GFP_ZONEMASK 0x07 106#define GFP_ZONEMASK 0x07
97#define GFP_ZONETYPES 5 107/* #define GFP_ZONETYPES (GFP_ZONEMASK + 1) */ /* Non-loner */
108#define GFP_ZONETYPES ((GFP_ZONEMASK + 1) / 2 + 1) /* Loner */
98 109
99/* 110/*
100 * On machines where it is needed (eg PCs) we divide physical memory 111 * On machines where it is needed (eg PCs) we divide physical memory