mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 21:03:32 +00:00
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: 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> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
da3649e133
commit
b5e6a5a272
1 changed files with 7 additions and 0 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue