[all-commits] [llvm/llvm-project] fc6996: [scudo][standalone] Shift some data from dynamic t...
Kostya Kortchinsky via All-commits
all-commits at lists.llvm.org
Tue Feb 18 09:39:02 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: fc69967a4b98df34c03a3c57134940688b863dff
https://github.com/llvm/llvm-project/commit/fc69967a4b98df34c03a3c57134940688b863dff
Author: Kostya Kortchinsky <kostyak at google.com>
Date: 2020-02-18 (Tue, 18 Feb 2020)
Changed paths:
M compiler-rt/lib/scudo/standalone/CMakeLists.txt
M compiler-rt/lib/scudo/standalone/bytemap.h
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
A compiler-rt/lib/scudo/standalone/release.cpp
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/scudo/standalone/tsd_exclusive.h
M compiler-rt/lib/scudo/standalone/tsd_shared.h
M compiler-rt/lib/scudo/standalone/wrappers_c.inc
Log Message:
-----------
[scudo][standalone] Shift some data from dynamic to static
Summary:
Most of our larger data is dynamically allocated (via `map`) but it
became an hindrance with regard to init time, for a cost to benefit
ratio that is not great. So change the `TSD`s, `RegionInfo`, `ByteMap`
to be static.
Additionally, for reclaiming, we used mapped & unmapped a buffer each
time, which is costly. It turns out that we can have a static buffer,
and that there isn't much contention on it.
One of the other things changed here, is that we hard set the number
of TSDs on Android to the maximum number, as there could be a
situation where cores are put to sleep and we could miss some.
Subscribers: mgorny, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D74696
More information about the All-commits
mailing list