Index: linux-2.6.20-rc6/mm/highmem.c =================================================================== --- linux-2.6.20-rc6.orig/mm/highmem.c 2007-01-25 23:01:56.000000000 -0800 +++ linux-2.6.20-rc6/mm/highmem.c 2007-01-25 23:02:45.000000000 -0800 @@ -47,7 +47,8 @@ unsigned int nr_free_highpages (void) unsigned int pages = 0; for_each_online_pgdat(pgdat) - pages += pgdat->node_zones[ZONE_HIGHMEM].free_pages; + pages += zone_page_state(&pgdat->node_zones[ZONE_HIGHMEM], + NR_FREE_PAGES); return pages; }