[RFC PATCH 6/9] shmem: set folio uptodate when reclaim

From: Daniel Gomez
Date: Fri Feb 09 2024 - 09:31:35 EST


When reclaiming some space by splitting a large folio through
shmem_unused_huge_shrink(), a large folio is split regardless of its
uptodate status. Mark all the blocks as uptodate in the reclaim path so
split_folio() can release the folio private struct (shmem_folio_state).

Signed-off-by: Daniel Gomez <da.gomez@xxxxxxxxxxx>
---
mm/shmem.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/shmem.c b/mm/shmem.c
index b6f9a60b179b..9fa86cb82da9 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -836,6 +836,7 @@ static unsigned long shmem_unused_huge_shrink(struct shmem_sb_info *sbinfo,
goto move_back;
}

+ shmem_set_range_uptodate(folio, 0, folio_size(folio));
ret = split_folio(folio);
folio_unlock(folio);
folio_put(folio);
--
2.43.0