Index: linux-2.6.18-rc4-mm2/mm/vmscan.c =================================================================== --- linux-2.6.18-rc4-mm2.orig/mm/vmscan.c 2006-08-25 12:11:51.604590868 -0700 +++ linux-2.6.18-rc4-mm2/mm/vmscan.c 2006-08-25 12:19:44.964984592 -0700 @@ -1575,6 +1575,8 @@ static int __zone_reclaim(struct zone *z .swappiness = vm_swappiness, }; + printk(KERN_CRIT "__zone reclaim zone=%p limit=%ld slabpage=%ld\n", + zone, zone->min_slab_ratio, zone_page_state(zone, NR_SLAB)); disable_swap_token(); cond_resched(); /* @@ -1613,8 +1615,12 @@ static int __zone_reclaim(struct zone *z */ unsigned long limit = zone_page_state(zone, NR_SLAB) - nr_pages; + printk(KERN_CRIT "slab reclaim zone=%p limit=%ld slabpages=%ld\n", + zone, zone->min_slab_ratio, zone_page_state(zone, NR_SLAB)); + while (shrink_slab(sc.nr_scanned, gfp_mask, order) && - zone_page_state(zone, NR_SLAB > limit)) ; + zone_page_state(zone, NR_SLAB > limit)) + printk(KERN_CRIT "limit=%ld actual=%ld\n", limit, zone_page_state(zone, NR_SLAB)); } p->reclaim_state = NULL; @@ -1642,6 +1648,7 @@ int zone_reclaim(struct zone *zone, gfp_ zone_page_state(zone, NR_SLAB) <= zone->min_slab_ratio) return 0; + printk(KERN_CRIT "zone reclaim limits violated\n"); /* * Avoid concurrent zone reclaims, do not reclaim in a zone that does * not have reclaimable pages and if we should not delay the allocation