Messages in this thread | | | Date | Thu, 7 Dec 2023 13:41:56 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH v2 1/6] cpumask: introduce for_each_cpu_and_from() |
| |
On Thu, 7 Dec 2023 12:38:55 -0800 Yury Norov <yury.norov@gmail.com> wrote:
> Similarly to for_each_cpu_and(), introduce a for_each_cpu_and_from(), > which is handy when it's needed to traverse 2 cpumasks or bitmaps, > starting from a given position.
A naming question:
> --- a/include/linux/cpumask.h > +++ b/include/linux/cpumask.h > @@ -332,6 +332,17 @@ unsigned int __pure cpumask_next_wrap(int n, const struct cpumask *mask, int sta > #define for_each_cpu_and(cpu, mask1, mask2) \ > for_each_and_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits) > > +/** > + * for_each_cpu_and_from - iterate over every cpu in both masks starting from a given cpu > + * @cpu: the (optionally unsigned) integer iterator > + * @mask1: the first cpumask pointer > + * @mask2: the second cpumask pointer > + * > + * After the loop, cpu is >= nr_cpu_ids. > + */ > +#define for_each_cpu_and_from(cpu, mask1, mask2) \ > + for_each_and_bit_from(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits)
Shouldn't this be for_each_and_cpu_from()? That seems more consistent and makes a little more sense given what the iterator does.
| |