]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mm/page_alloc: add informative debugging message in page_outside_zone_boundaries()
authorCody P Schafer <cody@linux.vnet.ibm.com>
Thu, 7 Feb 2013 01:27:06 +0000 (12:27 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 18 Feb 2013 05:46:51 +0000 (16:46 +1100)
Add a debug message which prints when a page is found outside of the
boundaries of the zone it should belong to. Format is:
"page $pfn outside zone [ $start_pfn - $end_pfn ]"

Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Cc: David Hansen <dave@linux.vnet.ibm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_alloc.c

index cde32d2ffb9c60b8aea1834e8cbbb1702a003193..216bb912611deeb23c3bc8543082a74dc5f92023 100644 (file)
@@ -247,13 +247,20 @@ static int page_outside_zone_boundaries(struct zone *zone, struct page *page)
        int ret = 0;
        unsigned seq;
        unsigned long pfn = page_to_pfn(page);
+       unsigned long sp, start_pfn;
 
        do {
                seq = zone_span_seqbegin(zone);
+               start_pfn = zone->zone_start_pfn;
+               sp = zone->spanned_pages;
                if (!zone_spans_pfn(zone, pfn))
                        ret = 1;
        } while (zone_span_seqretry(zone, seq));
 
+       if (ret)
+               pr_debug("page %lu outside zone [ %lu - %lu ]\n",
+                       pfn, start_pfn, start_pfn + sp);
+
        return ret;
 }