diff options
| author | Greg Banks <gnb@melbourne.sgi.com> | 2006-10-02 05:17:39 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-02 10:57:17 -0400 |
| commit | 0f532f3861d2c4e5aa7dcd33fb18e9975eb28457 (patch) | |
| tree | 4b4cf436bbc94a1659fdb25314ff7b17624e80a1 | |
| parent | ca8af486765852302931bb69075871d5564e1e5b (diff) | |
[PATCH] cpumask: add highest_possible_node_id
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>
| -rw-r--r-- | include/linux/nodemask.h | 2 | ||||
| -rw-r--r-- | lib/cpumask.c | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h index 1a9ef3e627d1..5dce5c21822c 100644 --- a/include/linux/nodemask.h +++ b/include/linux/nodemask.h | |||
| @@ -352,6 +352,7 @@ extern nodemask_t node_possible_map; | |||
| 352 | #define node_possible(node) node_isset((node), node_possible_map) | 352 | #define node_possible(node) node_isset((node), node_possible_map) |
| 353 | #define first_online_node first_node(node_online_map) | 353 | #define first_online_node first_node(node_online_map) |
| 354 | #define next_online_node(nid) next_node((nid), node_online_map) | 354 | #define next_online_node(nid) next_node((nid), node_online_map) |
| 355 | int highest_possible_node_id(void); | ||
| 355 | #else | 356 | #else |
| 356 | #define num_online_nodes() 1 | 357 | #define num_online_nodes() 1 |
| 357 | #define num_possible_nodes() 1 | 358 | #define num_possible_nodes() 1 |
| @@ -359,6 +360,7 @@ extern nodemask_t node_possible_map; | |||
| 359 | #define node_possible(node) ((node) == 0) | 360 | #define node_possible(node) ((node) == 0) |
| 360 | #define first_online_node 0 | 361 | #define first_online_node 0 |
| 361 | #define next_online_node(nid) (MAX_NUMNODES) | 362 | #define next_online_node(nid) (MAX_NUMNODES) |
| 363 | #define highest_possible_node_id() 0 | ||
| 362 | #endif | 364 | #endif |
| 363 | 365 | ||
| 364 | #define any_online_node(mask) \ | 366 | #define any_online_node(mask) \ |
diff --git a/lib/cpumask.c b/lib/cpumask.c index 3a67dc5ada7d..7a2a73f88d59 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c | |||
| @@ -43,3 +43,19 @@ int __any_online_cpu(const cpumask_t *mask) | |||
| 43 | return cpu; | 43 | return cpu; |
| 44 | } | 44 | } |
| 45 | EXPORT_SYMBOL(__any_online_cpu); | 45 | EXPORT_SYMBOL(__any_online_cpu); |
| 46 | |||
| 47 | #if MAX_NUMNODES > 1 | ||
| 48 | /* | ||
| 49 | * Find the highest possible node id. | ||
| 50 | */ | ||
| 51 | int highest_possible_node_id(void) | ||
| 52 | { | ||
| 53 | unsigned int node; | ||
| 54 | unsigned int highest = 0; | ||
| 55 | |||
| 56 | for_each_node_mask(node, node_possible_map) | ||
| 57 | highest = node; | ||
| 58 | return highest; | ||
| 59 | } | ||
| 60 | EXPORT_SYMBOL(highest_possible_node_id); | ||
| 61 | #endif | ||
