any_online_cpu() is a good name, but it takes a cpumask_t, not a pointer. Signed-off-by: Rusty Russell Signed-off-by: Mike Travis --- include/linux/cpumask.h | 11 ++++++----- lib/cpumask.c | 12 ------------ 2 files changed, 6 insertions(+), 17 deletions(-) --- linux-2.6.28.orig/include/linux/cpumask.h +++ linux-2.6.28/include/linux/cpumask.h @@ -108,7 +108,8 @@ * int cpu_possible(cpu) Is some cpu possible? * int cpu_present(cpu) Is some cpu present (can schedule)? * - * int any_online_cpu(mask) First online cpu in mask + * int cpumask_any(mask) Any cpu in mask + * int cpumask_any_and(mask1,mask2) Any cpu in both masks * * for_each_possible_cpu(cpu) for-loop cpu over cpu_possible_map * for_each_online_cpu(cpu) for-loop cpu over cpu_online_map @@ -180,6 +181,7 @@ extern cpumask_t _unused_cpumask_arg_; for_each_cpu_and(cpu, &(mask), &(and)) #define first_cpu(src) cpumask_first(&(src)) #define next_cpu(n, src) cpumask_next((n), &(src)) +#define any_online_cpu(mask) cpumask_any_and(&(mask), &cpu_online_map) /* End deprecated region. */ #if NR_CPUS > 1 @@ -380,6 +382,9 @@ static inline void cpumask_copy(struct c bitmap_copy(cpumask_bits(dstp), cpumask_bits(srcp), nr_cpumask_bits); } +#define cpumask_any(srcp) cpumask_first(srcp) +#define cpumask_any_and(mask1, mask2) cpumask_first_and((mask1), (mask2)) + /* * Special-case data structure for "single bit set only" constant CPU masks. * @@ -446,7 +451,6 @@ extern cpumask_t cpu_mask_all; #define cpumask_first(src) ({ (void)(src); 0; }) #define cpumask_next(n, src) ({ (void)(src); 1; }) #define cpumask_next_and(n, srcp, andp) ({ (void)(srcp), (void)(andp); 1; }) -#define any_online_cpu(mask) 0 #define for_each_cpu(cpu, mask) \ for ((cpu) = 0; (cpu) < 1; (cpu)++, (void)mask) @@ -458,9 +462,6 @@ extern cpumask_t cpu_mask_all; int cpumask_first(const cpumask_t *srcp); int cpumask_next(int n, const cpumask_t *srcp); int cpumask_next_and(int n, const cpumask_t *srcp, const cpumask_t *andp); -int __any_online_cpu(const cpumask_t *mask); - -#define any_online_cpu(mask) __any_online_cpu(&(mask)) #define for_each_cpu(cpu, mask) \ for ((cpu) = -1; \ --- linux-2.6.28.orig/lib/cpumask.c +++ linux-2.6.28/lib/cpumask.c @@ -24,18 +24,6 @@ int cpumask_next_and(int n, const cpumas } EXPORT_SYMBOL(cpumask_next_and); -int __any_online_cpu(const cpumask_t *mask) -{ - int cpu; - - for_each_cpu(cpu, mask) { - if (cpu_online(cpu)) - break; - } - return cpu; -} -EXPORT_SYMBOL(__any_online_cpu); - /* These are not inline because of header tangles. */ #ifdef CONFIG_CPUMASK_OFFSTACK bool alloc_cpumask_var(cpumask_var_t *mask, gfp_t flags) -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/