Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7548341b authored by Mel Gorman's avatar Mel Gorman
Browse files

mm: numa: Account for failed allocations and isolations as migration failures



Subject says it all. Allocation failures and a failure to isolate should
be accounted as a migration failure. This is partially another
difference between base page and transhuge page migration. A base page
migration makes multiple attempts for these conditions before it would
be accounted for as a failure.

Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
parent 220018d3
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1635,12 +1635,15 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm,

	new_page = alloc_pages_node(node,
		(GFP_TRANSHUGE | GFP_THISNODE) & ~__GFP_WAIT, HPAGE_PMD_ORDER);
	if (!new_page)
	if (!new_page) {
		count_vm_events(PGMIGRATE_FAIL, HPAGE_PMD_NR);
		goto out_dropref;
	}
	page_xchg_last_nid(new_page, page_last_nid(page));

	isolated = numamigrate_isolate_page(pgdat, page);
	if (!isolated) {
		count_vm_events(PGMIGRATE_FAIL, HPAGE_PMD_NR);
		put_page(new_page);
		goto out_keep_locked;
	}