aboutsummaryrefslogtreecommitdiffstats
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorChristoph Lameter <clameter@sgi.com>2006-09-25 23:31:14 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-26 08:48:46 -0700
commite53ef38d05dd59ed281a35590e4a5b64d8ff4c52 (patch)
tree42e525df84454e89abd6cab8d7983a6a0188b6bb /mm/page_alloc.c
parent[PATCH] reduce MAX_NR_ZONES: make ZONE_DMA32 optional (diff)
downloadlinux-dev-e53ef38d05dd59ed281a35590e4a5b64d8ff4c52.tar.xz
linux-dev-e53ef38d05dd59ed281a35590e4a5b64d8ff4c52.zip
[PATCH] reduce MAX_NR_ZONES: make ZONE_HIGHMEM optional
Make ZONE_HIGHMEM optional - ifdef out code and definitions related to CONFIG_HIGHMEM - __GFP_HIGHMEM falls back to normal allocations if there is no ZONE_HIGHMEM - GFP_ZONEMASK becomes 0x01 if there is no DMA32 and no HIGHMEM zone. [jdike@addtoit.com: build fix] Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Christoph Lameter <clameter@engr.sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5b5cbb5e1816..6c7c2dd1b3ed 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -73,7 +73,9 @@ int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES-1] = {
#ifdef CONFIG_ZONE_DMA32
256,
#endif
+#ifdef CONFIG_HIGHMEM
32
+#endif
};
EXPORT_SYMBOL(totalram_pages);
@@ -91,7 +93,9 @@ static char *zone_names[MAX_NR_ZONES] = {
"DMA32",
#endif
"Normal",
+#ifdef CONFIG_HIGHMEM
"HighMem"
+#endif
};
int min_free_kbytes = 1024;
@@ -1375,8 +1379,10 @@ static int __meminit build_zonelists_node(pg_data_t *pgdat,
static inline int highest_zone(int zone_bits)
{
int res = ZONE_NORMAL;
+#ifdef CONFIG_HIGHMEM
if (zone_bits & (__force int)__GFP_HIGHMEM)
res = ZONE_HIGHMEM;
+#endif
#ifdef CONFIG_ZONE_DMA32
if (zone_bits & (__force int)__GFP_DMA32)
res = ZONE_DMA32;