diff options
author | Yury Norov <yury.norov@gmail.com> | 2022-09-19 14:05:57 -0700 |
---|---|---|
committer | Yury Norov <yury.norov@gmail.com> | 2022-10-01 10:22:57 -0700 |
commit | 4fe49b3b97c2640147c46519c2a6fdb06df34f5f (patch) | |
tree | bea4a14dd06b042f19b11db141519aae7c01814f /include/linux/cpumask.h | |
parent | 6cc18331a987c4a29d66b9c4fd292587fba4d7bd (diff) |
lib/bitmap: introduce for_each_set_bit_wrap() macro
Add for_each_set_bit_wrap() macro and use it in for_each_cpu_wrap(). The
new macro is based on __for_each_wrap() iterator, which is simpler and
smaller than cpumask_next_wrap().
Signed-off-by: Yury Norov <yury.norov@gmail.com>
Diffstat (limited to 'include/linux/cpumask.h')
-rw-r--r-- | include/linux/cpumask.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index 9c85774d45a4..13b32dd9803b 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h @@ -289,10 +289,8 @@ unsigned int __pure cpumask_next_wrap(int n, const struct cpumask *mask, int sta * * After the loop, cpu is >= nr_cpu_ids. */ -#define for_each_cpu_wrap(cpu, mask, start) \ - for ((cpu) = cpumask_next_wrap((start)-1, (mask), (start), false); \ - (cpu) < nr_cpumask_bits; \ - (cpu) = cpumask_next_wrap((cpu), (mask), (start), true)) +#define for_each_cpu_wrap(cpu, mask, start) \ + for_each_set_bit_wrap(cpu, cpumask_bits(mask), nr_cpumask_bits, start) /** * for_each_cpu_and - iterate over every cpu in both masks |