Re: [PATCH v2 0/6] lib: Extend bitmap find binary operations

From: Mathieu Desnoyers
Date: Fri Aug 30 2024 - 12:11:33 EST


On 2024-08-30 17:56, Yury Norov wrote:
On Thu, Aug 29, 2024 at 09:59:20AM -0400, Mathieu Desnoyers wrote:
Extend bitmap find.h and cpumask.h with additional binary operations
such as "nor".

Also extend the testing and benchmark coverage of those bitmap find with
binary operations.

This is useful for NUMA-aware rseq concurrency IDs which depend on this
series.
Hi Mathieu,

Thanks for the series! I appreciate your time nailing it down, and
especially the tests provided. A couple nits is that we don't need
an 'extern' specifier, and would better avoid local statics, even
in tests.

OK. I've mostly followed the style present in the files I modified.
I'm OK if you change that in place.


I'll fix that inplace and apply in bitmap-for-next. Can you share
a link for your work that requires the new API? I need to point it
when sending a merge request.

Here is the latest version posted, before I split the bitmap patches
into a serparate series:

https://lore.kernel.org/lkml/20240823185946.418340-1-mathieu.desnoyers@xxxxxxxxxxxx/

Please note that I am currently doing additional tests/benchmarks/schedstat
instrumentation and bug fixes on the RSEQ numa-aware patch.

Thanks,

Mathieu


Thanks,
Yury
Mathieu Desnoyers (6):
lib: Clarify comment on top of find_next_andnot_bit
lib: Implement find_{first,next,nth}_nor_bit, for_each_nor_bit,
find_first_andnot_bit
lib: test bitmap sets binary operation iterators
lib: Fix test_find_first_and_bit and test_find_next_and_bit benchmark
lib: benchmark bitmap sets binary operation find
cpumask: Implement cpumask_{first,next}_{nor,andnot}

include/linux/cpumask.h | 60 +++++++++++++++++++
include/linux/find.h | 124 +++++++++++++++++++++++++++++++++++++--
lib/find_bit.c | 36 ++++++++++++
lib/find_bit_benchmark.c | 103 ++++++++++++++++++++++++++++++--
lib/test_bitmap.c | 81 +++++++++++++++++++++++++
5 files changed, 396 insertions(+), 8 deletions(-)

--
2.39.2

--
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com