Re: [PATCH 29/30] tools/testing/vma: default VMA flag bits to 64-bit
Gregory Price <[email protected]> Fri, 10 Jul 2026 16:19:58 -0400
| Newsgroups | org.kernel.vger.linux-sgx,dev.linux.lists.damon,dev.linux.lists.iommu,dev.linux.lists.nvdimm,org.freedesktop.lists.dri-devel,org.kernel.vger.kvm,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-parisc,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-tegra,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <alFT7lx8F04rN01D@gourry-fedora-PF4VCD3F> |
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