From: Guanjun <guanjun@xxxxxxxxxxxxxxxxx> The folio_test_large check in filemap_free_folio is unnecessary because folio_nr_pages, which is called internally, already performs this check. Removing the redundant condition simplifies the code and avoids double validation. This change improves code readability and reduces unnecessary operations in the folio freeing path. Signed-off-by: Guanjun <guanjun@xxxxxxxxxxxxxxxxx> --- mm/filemap.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c index 804d7365680c..2b860b59a521 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -227,15 +227,12 @@ void __filemap_remove_folio(struct folio *folio, void *shadow) void filemap_free_folio(struct address_space *mapping, struct folio *folio) { void (*free_folio)(struct folio *); - int refs = 1; free_folio = mapping->a_ops->free_folio; if (free_folio) free_folio(folio); - if (folio_test_large(folio)) - refs = folio_nr_pages(folio); - folio_put_refs(folio, refs); + folio_put_refs(folio, folio_nr_pages(folio)); } /** -- 2.43.5