ANDROID: mm: page_pinner: report test_page_isolation_failure

Sometimes, alloc_contig_range fails at test_pages_isolated.
Report the failed page to page_pinner for tracking them to
be able to investigate it.

Bug: 192475091
Signed-off-by: Minchan Kim <minchan@google.com>
Change-Id: Ifcb913faa87a131915efd72848e6ca59c15b75b4
diff --git a/mm/page_isolation.c b/mm/page_isolation.c
index abbf422..6ecd3f4 100644
--- a/mm/page_isolation.c
+++ b/mm/page_isolation.c
@@ -308,6 +308,10 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn,
 	spin_unlock_irqrestore(&zone->lock, flags);
 
 	trace_test_pages_isolated(start_pfn, end_pfn, pfn);
+	if (pfn < end_pfn) {
+		page_pinner_failure_detect(pfn_to_page(pfn));
+		return -EBUSY;
+	}
 
-	return pfn < end_pfn ? -EBUSY : 0;
+	return 0;
 }