[PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()

Thorsten Blum posted 1 patch 1 month, 3 weeks ago
mm/hugetlb_vmemmap.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()
Posted by Thorsten Blum 1 month, 3 weeks ago
Use max() to simplify hugetlb_vmemmap_optimizable_size() and improve its
readability.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 mm/hugetlb_vmemmap.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/hugetlb_vmemmap.h b/mm/hugetlb_vmemmap.h
index 18b490825215..4da44b1e8e1a 100644
--- a/mm/hugetlb_vmemmap.h
+++ b/mm/hugetlb_vmemmap.h
@@ -11,6 +11,7 @@
 #include <linux/hugetlb.h>
 #include <linux/io.h>
 #include <linux/memblock.h>
+#include <linux/minmax.h>
 
 /*
  * Reserve one vmemmap page, all vmemmap addresses are mapped to it. See
@@ -44,11 +45,10 @@ static inline unsigned int hugetlb_vmemmap_size(const struct hstate *h)
  */
 static inline unsigned int hugetlb_vmemmap_optimizable_size(const struct hstate *h)
 {
-	int size = hugetlb_vmemmap_size(h) - HUGETLB_VMEMMAP_RESERVE_SIZE;
-
 	if (!is_power_of_2(sizeof(struct page)))
 		return 0;
-	return size > 0 ? size : 0;
+
+	return max(0, hugetlb_vmemmap_size(h) - HUGETLB_VMEMMAP_RESERVE_SIZE);
 }
 #else
 static inline int hugetlb_vmemmap_restore_folio(const struct hstate *h, struct folio *folio)
-- 
2.50.1
Re: [PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()
Posted by Matthew Wilcox 1 month, 3 weeks ago
On Sun, Aug 10, 2025 at 11:47:45PM +0200, Thorsten Blum wrote:
> Use max() to simplify hugetlb_vmemmap_optimizable_size() and improve its
> readability.

That ... isn't clearer.

>  {
> -	int size = hugetlb_vmemmap_size(h) - HUGETLB_VMEMMAP_RESERVE_SIZE;
> -
>  	if (!is_power_of_2(sizeof(struct page)))
>  		return 0;
> -	return size > 0 ? size : 0;
> +
> +	return max(0, hugetlb_vmemmap_size(h) - HUGETLB_VMEMMAP_RESERVE_SIZE);
>  }
Re: [PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()
Posted by David Hildenbrand 1 month, 3 weeks ago
On 11.08.25 02:15, Matthew Wilcox wrote:
> On Sun, Aug 10, 2025 at 11:47:45PM +0200, Thorsten Blum wrote:
>> Use max() to simplify hugetlb_vmemmap_optimizable_size() and improve its
>> readability.
> 
> That ... isn't clearer.

No, it isn't.

-- 
Cheers,

David / dhildenb
Re: [PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()
Posted by Thorsten Blum 1 month, 3 weeks ago
On 11. Aug 2025, at 10:26, David Hildenbrand wrote:
> On 11.08.25 02:15, Matthew Wilcox wrote:
>> On Sun, Aug 10, 2025 at 11:47:45PM +0200, Thorsten Blum wrote:
>>> Use max() to simplify hugetlb_vmemmap_optimizable_size() and improve its
>>> readability.
>> That ... isn't clearer.
> 
> No, it isn't.

I guess it's personal preference. I'd prefer max(0, x) over a ternary
operator any time.

Thorsten
Re: [PATCH] mm/hugetlb: Use max() to simplify hugetlb_vmemmap_optimizable_size()
Posted by David Hildenbrand 1 month, 3 weeks ago
On 11.08.25 11:08, Thorsten Blum wrote:
> On 11. Aug 2025, at 10:26, David Hildenbrand wrote:
>> On 11.08.25 02:15, Matthew Wilcox wrote:
>>> On Sun, Aug 10, 2025 at 11:47:45PM +0200, Thorsten Blum wrote:
>>>> Use max() to simplify hugetlb_vmemmap_optimizable_size() and improve its
>>>> readability.
>>> That ... isn't clearer.
>>
>> No, it isn't.
> 
> I guess it's personal preference. I'd prefer max(0, x) over a ternary
> operator any time.

if (size > 0)
	return size;
/* Nothing can be optimized out. */
return 0;

-- 
Cheers,

David / dhildenb