[PATCH 1 of 4] cpumask: add highest_possible_node_id
From: Greg Banks
Date: Fri Aug 04 2006 - 01:33:25 EST
cpumask: add highest_possible_node_id(), analogous to
highest_possible_processor_id().
Signed-off-by: Greg Banks <gnb@xxxxxxxxxxxxxxxxx>
---
include/linux/nodemask.h | 2 ++
lib/cpumask.c | 16 ++++++++++++++++
2 files changed, 18 insertions(+)
Index: linus-git/include/linux/nodemask.h
===================================================================
--- linus-git.orig/include/linux/nodemask.h 2006-07-05 15:55:26.000000000 +1000
+++ linus-git/include/linux/nodemask.h 2006-08-01 15:40:50.953022638 +1000
@@ -352,6 +352,7 @@ extern nodemask_t node_possible_map;
#define node_possible(node) node_isset((node), node_possible_map)
#define first_online_node first_node(node_online_map)
#define next_online_node(nid) next_node((nid), node_online_map)
+int highest_possible_node_id(void);
#else
#define num_online_nodes() 1
#define num_possible_nodes() 1
@@ -359,6 +360,7 @@ extern nodemask_t node_possible_map;
#define node_possible(node) ((node) == 0)
#define first_online_node 0
#define next_online_node(nid) (MAX_NUMNODES)
+#define highest_possible_node_id() 0
#endif
#define any_online_node(mask) \
Index: linus-git/lib/cpumask.c
===================================================================
--- linus-git.orig/lib/cpumask.c 2006-07-05 15:55:39.000000000 +1000
+++ linus-git/lib/cpumask.c 2006-08-01 15:42:42.742593668 +1000
@@ -43,3 +43,19 @@ int __any_online_cpu(const cpumask_t *ma
return cpu;
}
EXPORT_SYMBOL(__any_online_cpu);
+
+#if MAX_NUMNODES > 1
+/*
+ * Find the highest possible node id.
+ */
+int highest_possible_node_id(void)
+{
+ unsigned int node;
+ unsigned int highest = 0;
+
+ for_each_cpu_mask(node, node_possible_map)
+ highest = node;
+ return highest;
+}
+EXPORT_SYMBOL(highest_possible_node_id);
+#endif
--
Greg Banks, R&D Software Engineer, SGI Australian Software Group.
I don't speak for SGI.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/