diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index bbebc20..5ecc1c6 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -694,11 +694,14 @@
 	if (count && pcp->nzcount) {
 		freed = do_free_pcppages_bulk(zone, count, pcp, NOTZEROED_PAGE);
 		pcp->nzcount -= freed;
+		printk("%s 1: zone %s: pcp %p: freed %d, count %d, pcp->zcount %d, pcp->nzcount %d\n", __func__, zone->name, pcp, freed, count, pcp->zcount, pcp->nzcount);
 	}
 
-	if (freed < count)
+	if (freed < count) {
 		pcp->zcount -= do_free_pcppages_bulk(zone, count - freed,
 							pcp, ZEROED_PAGE);
+		printk("%s 2: zone %s: pcp %p: pcp->zcount %d, pcp->nzcount %d\n", __func__, zone->name, pcp, pcp->zcount, pcp->nzcount);
+	}
 }
 
 static void free_one_page(struct zone *zone, struct page *page, int order,
@@ -1349,6 +1352,7 @@
 		clear_highpage(page);
 		list_add(&page->lru, &pcp->lists[migratetype][ZEROED_PAGE]);
 		pcp->zcount++;
+		printk("%s: zone %s: pcp %p: zeroed a page, pcp->zcount %d, pcp->nzcount %d (sum %d), pcp->high %d\n", __func__, zone->name, pcp, pcp->zcount, pcp->nzcount, pcp->zcount + pcp->nzcount, pcp->high);
 	} else {
 		list_add(&page->lru, &pcp->lists[migratetype][NOTZEROED_PAGE]);
 		pcp->nzcount++;
@@ -1499,6 +1503,7 @@
 			 * 'prep_new_page()' from doing this.
 			 */
 			gfp_flags &= ~__GFP_ZERO;
+			printk("%s: zone %s: pcp %p: zero page picked: pcp->zcount %d, pcp->nzcount %d (sum %d), pcp->high %d\n", __func__, zone->name, pcp, pcp->zcount, pcp->nzcount, pcp->zcount + pcp->nzcount, pcp->high);
 		} else if (pcp->nzcount) {
 			/*
 			 * A non-zeroed page is requested and we have one in
@@ -1516,6 +1521,7 @@
 			page = fetch_from_pcp_list(pcp, migratetype,
 						   ZEROED_PAGE, cold);
 			pcp->zcount--;
+			printk("%s: zone %s: pcp %p: non-zero page picked from zero list: pcp->zcount %d, pcp->nzcount %d (sum %d), pcp->high %d\n", __func__, zone->name, pcp, pcp->zcount, pcp->nzcount, pcp->zcount + pcp->nzcount, pcp->high);
 		} else {
 			/*
 			 * A non-zeroed page is requested and our per-CPU lists
