|
@@ -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_err("page %lu outside zone [ %lu - %lu ]\n",
|
|
|
+ pfn, start_pfn, start_pfn + sp);
|
|
|
+
|
|
|
return ret;
|
|
|
}
|
|
|
|