Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 20 Mar 2024 11:31:17 -0700 | From | Yury Norov <> | Subject | Re: [PATCH 1/2] cpumask: Add for_each_cpu_from() |
| |
On Tue, Mar 19, 2024 at 01:51:47PM -0500, Kyle Meyer wrote: > Add for_each_cpu_from() as a generic cpumask macro. > > for_each_cpu_from() is the same as for_each_cpu(), except it starts at > @cpu instead of zero. > > Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
Acked-by: Kyle Meyer <kyle.meyer@hpe.com>
> --- > include/linux/cpumask.h | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h > index 1c29947db848..655211db38ff 100644 > --- a/include/linux/cpumask.h > +++ b/include/linux/cpumask.h > @@ -368,6 +368,16 @@ unsigned int __pure cpumask_next_wrap(int n, const struct cpumask *mask, int sta > #define for_each_cpu_or(cpu, mask1, mask2) \ > for_each_or_bit(cpu, cpumask_bits(mask1), cpumask_bits(mask2), small_cpumask_bits) > > +/** > + * for_each_cpu_from - iterate over every cpu present in @mask, starting at @cpu > + * @cpu: the (optionally unsigned) integer iterator > + * @mask: the cpumask pointer > + * > + * After the loop, cpu is >= nr_cpu_ids. > + */ > +#define for_each_cpu_from(cpu, mask) \ > + for_each_set_bit_from(cpu, cpumask_bits(mask), small_cpumask_bits) > + > /** > * cpumask_any_but - return a "random" in a cpumask, but not this one. > * @mask: the cpumask to search > -- > 2.44.0
| ![\](/images/icornerr.gif) |