[all-commits] [llvm/llvm-project] 7ce67d: [scudo][tests] Store the allocator instance in a g...
PiJoules via All-commits
all-commits at lists.llvm.org
Thu Aug 31 15:27:43 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7ce67d33107fd86b7fac985a593e14298944a3a8
https://github.com/llvm/llvm-project/commit/7ce67d33107fd86b7fac985a593e14298944a3a8
Author: Leonard Chan <leonardchan at google.com>
Date: 2023-08-31 (Thu, 31 Aug 2023)
Changed paths:
M compiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Log Message:
-----------
[scudo][tests] Store the allocator instance in a global rather than posix_memalign it
The combined scudo allocator object is over 4MB in size which gets created via
the posix_memalign on every test run. If the tests are sanitized with asan,
then the asan allocator will need to mmap this large object every single time a
test is run. Depending on where this is mapped, we might not be able to find a
large enough contiguous space for scudo's primary allocator to reserve an arena.
Such a case is more likely to occur on 39-bit vma for RISCV where the arena size
is roughly a quarter of the whole address space and fragmentation can be a big issue.
This helps reduce fragmentation by instead placing the allocator instance in a
global storage rather than doing an anonymous mmap.
Differential Revision: https://reviews.llvm.org/D158767
More information about the All-commits
mailing list