Re: [PATCH 1/3] cpumask: add for_each_online_cpu_mask_nr function

From: Rusty Russell
Date: Fri Sep 12 2008 - 00:33:38 EST


On Wednesday 10 September 2008 01:50:14 Mike Travis wrote:
> * Add for_each_online_cpu_mask_nr() function to eliminate need for
> a common use of a temporary cpumask_t variable. When the following
> procedure is being used:
>
> funcproto(cpumask_t *mask, ...)
> {
> cpumask_t temp;
>
> cpus_and(temp, *mask, cpu_online_map);
> for_each_cpu_mask_nr(cpu, temp)
> ...
>
> If then becomes:
>
> funcproto(cpumask_t *mask, ...)
> {
> for_each_online_cpu_mask_nr(cpu, *mask)
> ...
>
> * Note the generic __next_cpu_and (and __next_cpu_and_nr) functions
> allowing AND'ing with any cpumask_t variable, not just the
> cpu_online_map.

Good idea! But I really dislike the _nr versions (too many names!). Do we
really need them, since by definition cpus after nr_cpu_ids are never
online...

(And we should initialize nr_cpu_ids to NR_CPUS so even early boot works, if
we don't already...).

Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/