diff mbox series

[mm,1/1] filemap: Remove redundant folio_test_large check in filemap_free_folio

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

Commit Message

'Guanjun' Feb. 13, 2025, 5:56 a.m. UTC
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(-)

Comments

David Hildenbrand Feb. 13, 2025, 1 p.m. UTC | #1
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 mbox series

Patch

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));
 }
 
 /**