Index: linux-2.6/mm/page_alloc.c =================================================================== --- linux-2.6.orig/mm/page_alloc.c 2007-01-02 16:32:33.000000000 -0800 +++ linux-2.6/mm/page_alloc.c 2007-01-02 16:41:06.000000000 -0800 @@ -2122,6 +2122,8 @@ static inline void free_zone_pagesets(in { struct zone *zone; + __drain_pages(cpu); + for_each_zone(zone) { struct per_cpu_pageset *pset = zone_pcp(zone, cpu);