Commit b5e6a5a2 authored by Cody P Schafer's avatar Cody P Schafer Committed by Linus Torvalds

mm/page_alloc: add informative debugging message in page_outside_zone_boundaries()

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 ]"

[akpm@linux-foundation.org: s/pr_debug/pr_err/]
Signed-off-by: default avatarCody 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent da3649e1
...@@ -247,13 +247,20 @@ static int page_outside_zone_boundaries(struct zone *zone, struct page *page) ...@@ -247,13 +247,20 @@ static int page_outside_zone_boundaries(struct zone *zone, struct page *page)
int ret = 0; int ret = 0;
unsigned seq; unsigned seq;
unsigned long pfn = page_to_pfn(page); unsigned long pfn = page_to_pfn(page);
unsigned long sp, start_pfn;
do { do {
seq = zone_span_seqbegin(zone); seq = zone_span_seqbegin(zone);
start_pfn = zone->zone_start_pfn;
sp = zone->spanned_pages;
if (!zone_spans_pfn(zone, pfn)) if (!zone_spans_pfn(zone, pfn))
ret = 1; ret = 1;
} while (zone_span_seqretry(zone, seq)); } while (zone_span_seqretry(zone, seq));
if (ret)
pr_err("page %lu outside zone [ %lu - %lu ]\n",
pfn, start_pfn, start_pfn + sp);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment