aboutsummaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2022-08-17 16:14:04 +0800
committerAndrew Morton <akpm@linux-foundation.org>2022-09-26 19:46:06 -0700
commit5fc30916b5cda697a7eb8f1167c38c27100a793a (patch)
treee306dc8d33ba018743b3a0de8e6b86e4cb1711f8 /mm/migrate.c
parentmigrate_pages(): fix THP failure counting for -ENOMEM (diff)
downloadlinux-dev-5fc30916b5cda697a7eb8f1167c38c27100a793a.tar.xz
linux-dev-5fc30916b5cda697a7eb8f1167c38c27100a793a.zip
migrate_pages(): fix failure counting for THP subpages retrying
If THP is failed to be migrated for -ENOSYS and -ENOMEM, the THP will be split into thp_split_pages, and after other pages are migrated, pages in thp_split_pages will be migrated with no_subpage_counting == true, because its failure have been counted already. If some pages in thp_split_pages are retried during migration, we should not count their failure if no_subpage_counting == true too. This is done this patch to fix the failure counting for THP subpages retrying. Link: https://lkml.kernel.org/r/20220817081408.513338-5-ying.huang@intel.com Fixes: 5984fabb6e82 ("mm: move_pages: report the number of non-attempted pages") Signed-off-by: "Huang, Ying" <ying.huang@intel.com> Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> Reviewed-by: Oscar Salvador <osalvador@suse.de> Cc: Zi Yan <ziy@nvidia.com> Cc: Yang Shi <shy828301@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index ae55f08e72ce..0018b5191799 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -1545,7 +1545,8 @@ retry:
}
}
}
- 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