Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 23598
b: refs/heads/master
c: 8630282
h: refs/heads/master
v: v3
  • Loading branch information
Andrew Morton authored and Linus Torvalds committed Mar 25, 2006
1 parent 9ec1a10 commit 51ad3ad
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3d18bd74a22d0bed3bc81fc64c4ba6344a10f155
refs/heads/master: 8630282070b4a52b12cfa514ba8558e2f3d56360
15 changes: 6 additions & 9 deletions trunk/include/linux/cpumask.h
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,12 @@ extern cpumask_t cpu_present_map;
#define cpu_present(cpu) ((cpu) == 0)
#endif

#ifdef CONFIG_SMP
int highest_possible_processor_id(void);
#else
#define highest_possible_processor_id() 0
#endif

#define any_online_cpu(mask) \
({ \
int cpu; \
Expand All @@ -409,14 +415,5 @@ extern cpumask_t cpu_present_map;
#define for_each_online_cpu(cpu) for_each_cpu_mask((cpu), cpu_online_map)
#define for_each_present_cpu(cpu) for_each_cpu_mask((cpu), cpu_present_map)

/* Find the highest possible smp_processor_id() */
#define highest_possible_processor_id() \
({ \
unsigned int cpu, highest = 0; \
for_each_cpu_mask(cpu, cpu_possible_map) \
highest = cpu; \
highest; \
})


#endif /* __LINUX_CPUMASK_H */
17 changes: 17 additions & 0 deletions trunk/lib/cpumask.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,20 @@ int __next_cpu(int n, const cpumask_t *srcp)
return min_t(int, NR_CPUS, find_next_bit(srcp->bits, NR_CPUS, n+1));
}
EXPORT_SYMBOL(__next_cpu);

/*
* Find the highest possible smp_processor_id()
*
* Note: if we're prepared to assume that cpu_possible_map never changes
* (reasonable) then this function should cache its return value.
*/
int highest_possible_processor_id(void)
{
unsigned int cpu;
unsigned highest = 0;

for_each_cpu_mask(cpu, cpu_possible_map)
highest = cpu;
return highest;
}
EXPORT_SYMBOL(highest_possible_processor_id);

0 comments on commit 51ad3ad

Please sign in to comment.