[PATCH 1/2] sched/topology: introduce node_has_cpus() macro

From: Yury Norov
Date: Tue Feb 21 2023 - 21:50:49 EST


Currently, to check if NUMA node has CPUs, one has to use the
nr_cpus_node() macro, which ends up with cpumask_weight. We can do it
better with cpumask_empty(), because the latter can potentially return
earlier - as soon as 1st set bit found.

This patch adds a node_has_cpus() macro to implement that.

Signed-off-by: Yury Norov <yury.norov@xxxxxxxxx>
---
include/linux/topology.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/topology.h b/include/linux/topology.h
index fea32377f7c7..7e0d8f8f5a39 100644
--- a/include/linux/topology.h
+++ b/include/linux/topology.h
@@ -39,9 +39,11 @@
#define nr_cpus_node(node) cpumask_weight(cpumask_of_node(node))
#endif

+#define node_has_cpus(node) (!cpumask_empty(cpumask_of_node(node)))
+
#define for_each_node_with_cpus(node) \
for_each_online_node(node) \
- if (nr_cpus_node(node))
+ if (node_has_cpus(node))

int arch_update_cpu_topology(void);

--
2.34.1