mm: add debugging Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
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