]> 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>
Tue, 4 Mar 2025 05:49:53 +0000 (21:49 -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 b01bba81883ffc8d76531e2fd6335ed13dca792d..b808dcc4cd64f3e709049865295ef35c4c73923f 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));
 }
 
 /**