On Fri, Jul 10, 2026 at 04:19:58PM -0400, Gregory Price wrote: > 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.
Yeah I need to make it easier to set. And that's a pity re: the sanitisers, the generated code should still be efficient (will investigate some more over time) but yeah puts a lot more pressure on the sanitisers for sure. Is there a way maybe to configure the compiler to not instrument like that or somehow derive things? Or maybe it's inherent... I am kinda fine with assuming the bitmap stuff is OK! > > anyway: > > Reviewed-by: Gregory Price <[email protected]> Sorry but I'm sending out the v2 I thought maybe you were done :|| and I'm so tired with this heatwave + UK houses being like ovens in the summer (cold in the winter!) that I just needed to get it sending. Could you pop it over on the relevant patch on the v2? Once the sending stops, b4 went crazy and added half the kernel so it's taking a while ;) > > ~Gregory Cheers, Lorenzo
