mm/vmstat: replace cpumask_weight with cpumask_empty where appropriate
authorYury Norov <yury.norov@gmail.com>
Sun, 23 Jan 2022 18:38:56 +0000 (10:38 -0800)
committerYury Norov <yury.norov@gmail.com>
Fri, 3 Jun 2022 13:52:57 +0000 (06:52 -0700)
mm/vmstat.c code calls cpumask_weight() to check if any bit of a given
cpumask is set. We can do it more efficiently with cpumask_empty() because
cpumask_empty() stops traversing the cpumask as soon as it finds first set
bit, while cpumask_weight() counts all bits unconditionally.

Signed-off-by: Yury Norov <yury.norov@gmail.com>
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
mm/vmstat.c

index b75b1a6..12c771e 100644 (file)
@@ -2042,7 +2042,7 @@ static void __init init_cpu_node_state(void)
        int node;
 
        for_each_online_node(node) {
-               if (cpumask_weight(cpumask_of_node(node)) > 0)
+               if (!cpumask_empty(cpumask_of_node(node)))
                        node_set_state(node, N_CPU);
        }
 }
@@ -2074,7 +2074,7 @@ static int vmstat_cpu_dead(unsigned int cpu)
 
        refresh_zone_stat_thresholds();
        node_cpus = cpumask_of_node(node);
-       if (cpumask_weight(node_cpus) > 0)
+       if (!cpumask_empty(node_cpus))
                return 0;
 
        node_clear_state(node, N_CPU);