On Mon, Jun 29, 2026 at 01:23:40PM +0100, Lorenzo Stoakes wrote:
> With all of the sanitisers turned on, setting the VMA flag bits depth to
> 128 by default results in overly long build times.
>
> Reduce this to 64 - we can always manipulate these later for testing of
> larger bitmaps as needed.
>
> Signed-off-by: Lorenzo Stoakes <[email protected]>
Seems like this causes instrumented inlining to go crazy.
static inline void bitmap_or(...) {
if (small_const_nbits(nbits))
*dst = *src1 | *src2;
else
__bitmap_or(dst, src1, src2, nbits);
^^^^ this branch is being hit ^^^^
}
tl;dr: __bitmap_or() gets emitted and then the sanitizers have to
instrument a ton of inlined functions instead of the compiler simply
injecting a couple 'or' instructions.
if you wanted to keep the coverage you could do something like
# These can be varied to test different sizes.
NUM_VMA_FLAG_BITS ?= 64
NUM_MM_FLAG_BITS ?= 64
CFLAGS += -DNUM_VMA_FLAG_BITS=$(NUM_VMA_FLAG_BITS)
-DNUM_MM_FLAG_BITS=$(NUM_MM_FLAG_BITS)
w/
make NUM_VMA_FLAG_BITS=128
would let you still test the branch but not by default.
anyway:
Reviewed-by: Gregory Price <[email protected]>
~Gregory