From: Guanjun Date: Thu, 13 Feb 2025 05:56:12 +0000 (+0800) Subject: filemap: remove redundant folio_test_large check in filemap_free_folio X-Git-Tag: v6.15-rc1~81^2~332 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b23ceebd63d85135c9a5061a535ea85210f94f3f;p=thirdparty%2Flinux.git filemap: remove redundant folio_test_large check in filemap_free_folio 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. Link: https://lkml.kernel.org/r/20250213055612.490993-1-guanjun@linux.alibaba.com Signed-off-by: Guanjun Acked-by: David Hildenbrand Cc: Matthew Wilcox Signed-off-by: Andrew Morton --- diff --git a/mm/filemap.c b/mm/filemap.c index 6e3d27993b676..152993a86de3c 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)); } /**