diff --git a/mm/migrate.c b/mm/migrate.c
index ae55f08e72cecb956ae74dff1da6a04f5106943b..0018b5191799e772cd2dd98c98acf15d0ab66dff 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1545,7 +1545,8 @@ int migrate_pages(struct list_head *from, new_page_t get_new_page,
 			}
 		}
 	}
-	nr_failed += retry;
+	if (!no_subpage_counting)
+		nr_failed += retry;
 	nr_thp_failed += thp_retry;
 	/*
 	 * Try to migrate subpages of fail-to-migrate THPs, no nr_failed