]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
filemap: remove redundant folio_test_large check in filemap_free_folio
authorGuanjun <guanjun@linux.alibaba.com>
Thu, 13 Feb 2025 05:56:12 +0000 (13:56 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 28 Feb 2025 01:00:02 +0000 (17:00 -0800)
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 <guanjun@linux.alibaba.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Matthew Wilcox <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/filemap.c

index 804d7365680c1cef198ed453f1bd17bc66a7decc..2b860b59a5214ca0f06112fcc123b5bdc955aa89 100644 (file)
@@ -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));
 }
 
 /**