genirq/affinity: Replace cpumask_weight() with cpumask_empty() where appropriate
authorYury Norov <yury.norov@gmail.com>
Thu, 10 Feb 2022 22:49:05 +0000 (14:49 -0800)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 10 Apr 2022 20:20:28 +0000 (22:20 +0200)
__irq_build_affinity_masks() calls cpumask_weight() to check if any bit of
a given cpumask is set.

This can be done 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>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220210224933.379149-22-yury.norov@gmail.com
kernel/irq/affinity.c

index f7ff8919dc9bbb1ab2a907c1b28a5605dc894251..18740faf0eb13e46b0bd54d51b535ca26b68f3e9 100644 (file)
@@ -258,7 +258,7 @@ static int __irq_build_affinity_masks(unsigned int startvec,
        nodemask_t nodemsk = NODE_MASK_NONE;
        struct node_vectors *node_vectors;
 
-       if (!cpumask_weight(cpu_mask))
+       if (cpumask_empty(cpu_mask))
                return 0;
 
        nodes = get_nodes_in_cpumask(node_to_cpumask, cpu_mask, &nodemsk);