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

From: Mathieu Desnoyers
Date: Mon Sep 02 2024 - 17:43:22 EST


On 2024-08-30 19:02, Yury Norov wrote:
On Fri, Aug 30, 2024 at 03:10:37PM -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. The series can be found at:

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


Added in bitmap-for-next for testing.

Hi Yuri,

FYI, after a lot of performance results analysis on variations over
the NUMA-aware rseq patch, I figured I need to take a drastically
different (and much simpler) approach to solve this in order to improve
cache locality as well, and it turns out I likely won't need the new
bitwise ops added by this series.

So feel free to keep it as a general improvement, or to drop it for
now.

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 | 143 +++++++++++++++++++++++++++++++++------
lib/test_bitmap.c | 81 ++++++++++++++++++++++
5 files changed, 418 insertions(+), 26 deletions(-)

--
2.39.2

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