From afe2333880ba415a4346389594c8cd2b0cf13a12 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Sat, 25 Mar 2006 03:08:10 -0800 Subject: [PATCH] --- yaml --- r: 23599 b: refs/heads/master c: 96a9b4d31eba4722ba7aad2cc15118a7799f499f h: refs/heads/master i: 23597: 9ec1a1072a27dd8dd953d30f469c0a4fe3b16d4b 23595: 13be319cdb62b118b11494806ea5b6241a27c0a5 23591: 637337987aff8ed62e7515991acacd02b6657334 23583: 6d671707134fcbe92bcf4f767766925f053d735d v: v3 --- [refs] | 2 +- trunk/include/linux/cpumask.h | 13 +++---------- trunk/lib/cpumask.c | 12 ++++++++++++ 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index 18dc060f1526..3c730ee459ca 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8630282070b4a52b12cfa514ba8558e2f3d56360 +refs/heads/master: 96a9b4d31eba4722ba7aad2cc15118a7799f499f diff --git a/trunk/include/linux/cpumask.h b/trunk/include/linux/cpumask.h index f770039344c5..99e6115d8e52 100644 --- a/trunk/include/linux/cpumask.h +++ b/trunk/include/linux/cpumask.h @@ -398,22 +398,15 @@ extern cpumask_t cpu_present_map; #ifdef CONFIG_SMP int highest_possible_processor_id(void); +#define any_online_cpu(mask) __any_online_cpu(&(mask)) +int __any_online_cpu(const cpumask_t *mask); #else #define highest_possible_processor_id() 0 +#define any_online_cpu(mask) 0 #endif -#define any_online_cpu(mask) \ -({ \ - int cpu; \ - for_each_cpu_mask(cpu, (mask)) \ - if (cpu_online(cpu)) \ - break; \ - cpu; \ -}) - #define for_each_cpu(cpu) for_each_cpu_mask((cpu), cpu_possible_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) - #endif /* __LINUX_CPUMASK_H */ diff --git a/trunk/lib/cpumask.c b/trunk/lib/cpumask.c index ea25a034276c..3a67dc5ada7d 100644 --- a/trunk/lib/cpumask.c +++ b/trunk/lib/cpumask.c @@ -31,3 +31,15 @@ int highest_possible_processor_id(void) return highest; } EXPORT_SYMBOL(highest_possible_processor_id); + +int __any_online_cpu(const cpumask_t *mask) +{ + int cpu; + + for_each_cpu_mask(cpu, *mask) { + if (cpu_online(cpu)) + break; + } + return cpu; +} +EXPORT_SYMBOL(__any_online_cpu);