From: Kairui Song damon_pa_pageout() cleared PG_referenced directly, which under MGLRU may corrupts the folio's refs count in later commits. That flag is now bit 0 of the count (LRU_REFS_FLAGS). Reset the count instead under MGLRU. Tested-by: zhaozhengzhuo Signed-off-by: Kairui Song --- mm/damon/paddr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mm/damon/paddr.c b/mm/damon/paddr.c index 2cfdc356b415..6412ff2396b3 100644 --- a/mm/damon/paddr.c +++ b/mm/damon/paddr.c @@ -279,7 +279,8 @@ static unsigned long damon_pa_pageout(struct damon_region *r, else *sz_filter_passed += folio_size(folio) / addr_unit; - folio_clear_referenced(folio); + /* The regions is cold, better drop the hotness info */ + folio_clear_lru_refs(folio); folio_test_clear_young(folio); if (!folio_isolate_lru(folio)) goto put_folio; -- 2.56.0