Skip to content
Commit 7ce67d33 authored by Leonard Chan's avatar Leonard Chan
Browse files

[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
parent 764287f1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment