[PATCH] cpumask: add highest_possible_node_id
authorGreg Banks <gnb@melbourne.sgi.com>
Mon, 2 Oct 2006 09:17:39 +0000 (02:17 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 2 Oct 2006 14:57:17 +0000 (07:57 -0700)
cpumask: add highest_possible_node_id(), analogous to
highest_possible_processor_id().

[pj@sgi.com: fix typo]
Signed-off-by: Greg Banks <gnb@melbourne.sgi.com>
Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/nodemask.h
lib/cpumask.c

index 1a9ef3e627d1b6e04984688c071ed6e27fa964fd..5dce5c21822ca12bc6b3c6423352b50fcbe75b44 100644 (file)
@@ -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 3a67dc5ada7d5b2655ae461890519e995d50d7c9..7a2a73f88d594dc73282c24e3d0304a602a10a25 100644 (file)
@@ -43,3 +43,19 @@ int __any_online_cpu(const cpumask_t *mask)
        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_node_mask(node, node_possible_map)
+               highest = node;
+       return highest;
+}
+EXPORT_SYMBOL(highest_possible_node_id);
+#endif