Index: linux-2.6.17/mm/swap_prefetch.c =================================================================== --- linux-2.6.17.orig/mm/swap_prefetch.c 2006-07-03 13:11:06.000000000 -0700 +++ linux-2.6.17/mm/swap_prefetch.c 2006-07-03 13:12:08.000000000 -0700 @@ -277,8 +277,10 @@ ns = &sp_stat.node[z->zone_pgdat->node_id]; idx = zone_idx(z); - ns->lowfree[idx] = z->pages_high * 3 + - z->lowmem_reserve[ZONE_HIGHMEM]; + ns->lowfree[idx] = z->pages_high * 3; +#ifdef CONFIG_HIGHMEM + ns->lowfree[idx] += z->lowmem_reserve[ZONE_HIGHMEM]; +#endif ns->highfree[idx] = ns->lowfree[idx] + z->pages_high; if (z->free_pages > ns->highfree[idx]) {