diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cpumask.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/cpumask.c b/lib/cpumask.c index ba2f8543052c..ea25a034276c 100644 --- a/lib/cpumask.c +++ b/lib/cpumask.c | |||
@@ -14,3 +14,20 @@ int __next_cpu(int n, const cpumask_t *srcp) | |||
14 | return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1)); | 14 | return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1)); |
15 | } | 15 | } |
16 | EXPORT_SYMBOL(__next_cpu); | 16 | EXPORT_SYMBOL(__next_cpu); |
17 | |||
18 | /* | ||
19 | * Find the highest possible smp_processor_id() | ||
20 | * | ||
21 | * Note: if we're prepared to assume that cpu_possible_map never changes | ||
22 | * (reasonable) then this function should cache its return value. | ||
23 | */ | ||
24 | int highest_possible_processor_id(void) | ||
25 | { | ||
26 | unsigned int cpu; | ||
27 | unsigned highest = 0; | ||
28 | |||
29 | for_each_cpu_mask(cpu, cpu_possible_map) | ||
30 | highest = cpu; | ||
31 | return highest; | ||
32 | } | ||
33 | EXPORT_SYMBOL(highest_possible_processor_id); | ||