[compiler-rt] [scudo] Enable "Delayed release to OS" feature for Android (PR #65942)

via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 15 08:17:54 PDT 2023

andersdellien-arm wrote:


Thanks for looking at this.

You are right that this only changes the behavior of the secondary allocator, the primary will still use 1000 ms. However, that change does make a difference as any freed memory blocks will retain their contents instead of being "over-mapped", i.e. we will do

        Entry.MemMap.setMemoryPermission(Entry.CommitBase, Entry.CommitSize,
Instead of
        mapSecondary<Config>(Options, Entry.CommitBase, Entry.CommitSize,
                             Entry.CommitBase, MAP_NOACCESS, Entry.MemMap);

This is not a general improvement, it only makes a difference for any application or benchmark that makes heavy use of the secondary allocator - e.g. the SQLite and PDF Rendering sub-tests in Geekbench.

All my tests have been stand-alone binaries run directly from the shell (mostly Geekbench) - if Android apps already override this option then I agree the impact will be smaller.  


More information about the llvm-commits mailing list