diff --git a/mm/vmscan.c b/mm/vmscan.c index f35afc5093dc..a0e3f51de749 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -760,8 +760,8 @@ static int __remove_mapping(struct address_space *mapping, struct folio *folio, if (reclaimed && !mapping_exiting(mapping)) shadow = workingset_eviction(folio, target_memcg); - __swap_cache_del_folio(ci, folio, swap, shadow); memcg1_swapout(folio, swap); + __swap_cache_del_folio(ci, folio, swap, shadow); swap_cluster_unlock_irq(ci); } else { void (*free_folio)(struct folio *);