Message ID | 20250213055612.490993-1-guanjun@linux.alibaba.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [mm,1/1] filemap: Remove redundant folio_test_large check in filemap_free_folio | expand |
On 13.02.25 06:56, 'Guanjun' wrote: > From: Guanjun <guanjun@linux.alibaba.com> > > 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@linux.alibaba.com> > --- > 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)); > } > > /** Acked-by: David Hildenbrand <david@redhat.com>
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)); } /**