Subject: Add debug checks to the page allocator Some patches needed to track what is going wrong with the pcps using cpu alloc. Signed-off-by: Christoph Lameter Index: linux-2.6/mm/page_alloc.c =================================================================== --- linux-2.6.orig/mm/page_alloc.c 2008-05-26 19:06:41.000000000 -0700 +++ linux-2.6/mm/page_alloc.c 2008-05-26 19:06:48.000000000 -0700 @@ -1009,6 +1009,7 @@ local_irq_save(flags); pcp = &THIS_CPU(zone->pageset)->pcp; __count_vm_event(PGFREE); + printk("free_hot_cold_page pageset=%p\n", pcp); if (cold) list_add_tail(&page->lru, &pcp->list); else @@ -2639,6 +2640,7 @@ { struct per_cpu_pages *pcp; + printk("Setup pageset %p batch=%d\n", p, batch); memset(p, 0, sizeof(*p)); pcp = &p->pcp; @@ -2682,6 +2684,7 @@ if (!populated_zone(zone)) continue; + printk("process zones: Initializing pageset zone=%p\n",zone); setup_pageset(pcp, zone_batchsize(zone)); if (percpu_pagelist_fraction) @@ -2772,6 +2775,7 @@ static __meminit void zone_pcp_init(struct zone *zone) { + printk("zone_pcp_init: Initializing pageset zone=%p\n", zone); zone->pageset = CPU_ALLOC(struct per_cpu_pageset, GFP_KERNEL); /* * Provisional setup of local pageset so that we can get through