[PATCH v3 1/3] mm: pagewalk: simplify hugepage boundary calculation using min()

Sahil Chandna posted 3 patches 4 days, 16 hours ago
There is a newer version of this series
[PATCH v3 1/3] mm: pagewalk: simplify hugepage boundary calculation using min()
Posted by Sahil Chandna 4 days, 16 hours ago
Use the min() macro to compute the minimum value instead of an explicit 
ternary expression. This improves readability and matches common kernel 
style. Also change the return hugepage boundary expression for better
clarity.

This was flagged by Coccinelle
(misc/minmax.cocci) as an opportunity to use min().

Found by: make coccicheck MODE=report M=mm/
No functional change intended.

Suggested-by: David Hildenbrand (Red Hat) <david@kernel.org>
Suggested-by: Matthew Wilcox <willy@infradead.org>
Suggested-by: David Laight <david.laight.linux@gmail.com>
Signed-off-by: Sahil Chandna <chandna.sahil@gmail.com>
---
changes since v2:
- change the return expression for readability and clarity. 
changes since v1:
- Updated boundary calculation of huge page range for better clarity.
- No Functional changes intended.
link to v1: https://lore.kernel.org/all/ff24b3c573b766b187b55a38497fbad0a319b9f8.1763227530.git.chandna.sahil@gmail.com/
link to v2: https://lore.kernel.org/all/f802959f58865371ba1b10081bced98e3784c5e4.1763796152.git.chandna.sahil@gmail.com/
---
 mm/pagewalk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/pagewalk.c b/mm/pagewalk.c
index 9f91cf85a5be..9fd59d517f37 100644
--- a/mm/pagewalk.c
+++ b/mm/pagewalk.c
@@ -312,8 +312,7 @@ static int walk_pgd_range(unsigned long addr, unsigned long end,
 static unsigned long hugetlb_entry_end(struct hstate *h, unsigned long addr,
 				       unsigned long end)
 {
-	unsigned long boundary = (addr & huge_page_mask(h)) + huge_page_size(h);
-	return boundary < end ? boundary : end;
+	return min(ALIGN(addr, huge_page_size(h)), end);
 }
 
 static int walk_hugetlb_range(unsigned long addr, unsigned long end,
-- 
2.50.1
Re: [PATCH v3 1/3] mm: pagewalk: simplify hugepage boundary calculation using min()
Posted by David Laight 4 days, 11 hours ago
On Thu, 27 Nov 2025 10:41:28 +0530
Sahil Chandna <chandna.sahil@gmail.com> wrote:

> Use the min() macro to compute the minimum value instead of an explicit 
> ternary expression. This improves readability and matches common kernel 
> style. Also change the return hugepage boundary expression for better
> clarity.
> 
>...
>  {
> -	unsigned long boundary = (addr & huge_page_mask(h)) + huge_page_size(h);
> -	return boundary < end ? boundary : end;
> +	return min(ALIGN(addr, huge_page_size(h)), end);
>  }
>  
>  static int walk_hugetlb_range(unsigned long addr, unsigned long end,

The commit message doesn't really match the patch.
The biggest part is not open-coding the equivalent of ALIGN(), not using min().

	David
Re: [PATCH v3 1/3] mm: pagewalk: simplify hugepage boundary calculation using min()
Posted by David Hildenbrand (Red Hat) 4 days, 13 hours ago
On 11/27/25 06:11, Sahil Chandna wrote:
> Use the min() macro to compute the minimum value instead of an explicit
> ternary expression. This improves readability and matches common kernel
> style. Also change the return hugepage boundary expression for better
> clarity.
> 
> This was flagged by Coccinelle
> (misc/minmax.cocci) as an opportunity to use min().
> 
> Found by: make coccicheck MODE=report M=mm/
> No functional change intended.
> 
> Suggested-by: David Hildenbrand (Red Hat) <david@kernel.org>
> Suggested-by: Matthew Wilcox <willy@infradead.org>
> Suggested-by: David Laight <david.laight.linux@gmail.com>
> Signed-off-by: Sahil Chandna <chandna.sahil@gmail.com>
> ---

Acked-by: David Hildenbrand (Red Hat) <david@kernel.org>

-- 
Cheers

David