mm/early_ioremap.c: improve the execution efficiency of early_ioremap_setup()
authorLiam Ni <zhiguangni01@gmail.com>
Sat, 3 Jun 2023 02:31:16 +0000 (10:31 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 9 Jun 2023 23:25:56 +0000 (16:25 -0700)
Reduce the number of invalid loops of the function early_ioremap_setup()
to improve the efficiency of function execution

Link: https://lkml.kernel.org/r/CACZJ9cU6t5sLoDwE6_XOg+UJLpZt4+qHfjYN2bA0s+3y9y6pQQ@mail.gmail.com
Signed-off-by: LiamNi <zhiguangni01@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/early_ioremap.c

index 9bc12e526ed0b373d55ad07c0b617b10767f1204..ce06b2884789a2bd97016b93916c8aa81dc288b7 100644 (file)
@@ -72,12 +72,10 @@ void __init early_ioremap_setup(void)
 {
        int i;
 
-       for (i = 0; i < FIX_BTMAPS_SLOTS; i++)
-               if (WARN_ON(prev_map[i]))
-                       break;
-
-       for (i = 0; i < FIX_BTMAPS_SLOTS; i++)
+       for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {
+               WARN_ON_ONCE(prev_map[i]);
                slot_virt[i] = __fix_to_virt(FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*i);
+       }
 }
 
 static int __init check_early_ioremap_leak(void)