mm: page_alloc: use div64_ul() instead of do_div()
authorThorsten Blum <thorsten.blum@toblux.com>
Wed, 28 Feb 2024 22:49:12 +0000 (23:49 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 6 Mar 2024 21:04:18 +0000 (13:04 -0800)
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.

Link: https://lkml.kernel.org/r/20240228224911.1164-2-thorsten.blum@toblux.com
Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/page_alloc.c

index 29c982542dcc47f7f87c008bfd28249321f9410f..cc7f9b322193a8399158491d23d41895cb48d586 100644 (file)
@@ -5848,7 +5848,7 @@ static void __setup_per_zone_wmarks(void)
 
                spin_lock_irqsave(&zone->lock, flags);
                tmp = (u64)pages_min * zone_managed_pages(zone);
-               do_div(tmp, lowmem_pages);
+               tmp = div64_ul(tmp, lowmem_pages);
                if (is_highmem(zone) || zone_idx(zone) == ZONE_MOVABLE) {
                        /*
                         * __GFP_HIGH and PF_MEMALLOC allocations usually don't