[PATCH] mm: mm_init: use div64_ul() instead of do_div()

Giorgi Tchankvetadze posted 1 patch 6 days, 17 hours ago
There is a newer version of this series
mm/mm_init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] mm: mm_init: use div64_ul() instead of do_div()
Posted by Giorgi Tchankvetadze 6 days, 17 hours ago
Fixes Coccinelle/coccicheck warning reported by do_div.cocci.

Compared to do_div(), div64_ul() does not implicitly cast the divisor and
does not unnecessarily calculate the remainder.

Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@gmail.com>
---
 mm/mm_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/mm_init.c b/mm/mm_init.c
index db5568cf36e1..4d335eb799e6 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -2426,7 +2426,7 @@ void *__init alloc_large_system_hash(const char *tablename,
 	/* limit allocation size to 1/16 total memory by default */
 	if (max == 0) {
 		max = ((unsigned long long)nr_all_pages << PAGE_SHIFT) >> 4;
-		do_div(max, bucketsize);
+		max = div64_ul(max, bucketsize);
 	}
 	max = min(max, 0x80000000ULL);
 
-- 
2.52.0
Re: [PATCH] mm: mm_init: use div64_ul() instead of do_div()
Posted by Mike Rapoport 6 days, 18 hours ago
Hi,

On Mon, Jun 01, 2026 at 04:11:23PM +0400, Giorgi Tchankvetadze wrote:
> Fixes Coccinelle/coccicheck warning reported by do_div.cocci.
> 
> Compared to do_div(), div64_ul() does not implicitly cast the divisor and
> does not unnecessarily calculate the remainder.

Can you describe what are the actual visible effects?
 
> Signed-off-by: Giorgi Tchankvetadze <giorgitchankvetadze1997@gmail.com>
> ---
>  mm/mm_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/mm_init.c b/mm/mm_init.c
> index db5568cf36e1..4d335eb799e6 100644
> --- a/mm/mm_init.c
> +++ b/mm/mm_init.c
> @@ -2426,7 +2426,7 @@ void *__init alloc_large_system_hash(const char *tablename,
>  	/* limit allocation size to 1/16 total memory by default */
>  	if (max == 0) {
>  		max = ((unsigned long long)nr_all_pages << PAGE_SHIFT) >> 4;
> -		do_div(max, bucketsize);
> +		max = div64_ul(max, bucketsize);
>  	}
>  	max = min(max, 0x80000000ULL);
>  
> -- 
> 2.52.0
> 

-- 
Sincerely yours,
Mike.
Re: [PATCH] mm: mm_init: use div64_ul() instead of do_div()
Posted by Giorgi Tchankvetadze 6 days, 14 hours ago
On Mon, Jun 1, 2026 at 3:15 PM Mike Rapoport <rppt@kernel.org> wrote:
>
> Can you describe what are the actual visible effects?
>

Hey Mike.
The only benefit and effect is a semantic cleanup, it better
communicates the intent of the division and resolves the Coccinelle
static analysis warning.

--
Giorgi
Re: [PATCH] mm: mm_init: use div64_ul() instead of do_div()
Posted by Mike Rapoport 6 days, 17 hours ago
On Mon, Jun 01, 2026 at 07:26:00PM +0400, Giorgi Tchankvetadze wrote:
> On Mon, Jun 1, 2026 at 3:15 PM Mike Rapoport <rppt@kernel.org> wrote:
> >
> > Can you describe what are the actual visible effects?
> >
> 
> Hey Mike.
> The only benefit and effect is a semantic cleanup, it better
> communicates the intent of the division and resolves the Coccinelle
> static analysis warning.

Can you please add something along these lines to the changelog?
 
> --
> Giorgi

-- 
Sincerely yours,
Mike.
Re: [PATCH] mm: mm_init: use div64_ul() instead of do_div()
Posted by Giorgi Tchankvetadze 6 days, 13 hours ago
On Mon, Jun 1, 2026 at 4:04 PM Mike Rapoport <rppt@kernel.org> wrote:
>
> Can you please add something along these lines to the changelog?
>

Sure thing.  I will make sure to fix the changelon in v2