diff --git a/mm/migrate.c b/mm/migrate.c index a26bb6cf0327..4796de5ea04a 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1107,7 +1107,7 @@ static void migrate_folio_done(struct folio *src, * not accounted to NR_ISOLATED_*. They can be recognized * as __folio_test_movable */ - if (likely(!__folio_test_movable(src))) + if (likely(!__folio_test_movable(src)) && reason != MR_DEMOTION) mod_node_page_state(folio_pgdat(src), NR_ISOLATED_ANON + folio_is_file_lru(src), -folio_nr_pages(src));