[all-commits] [llvm/llvm-project] 1dbf2c: [scudo][standalone] Allow the release of smaller s...
Kostya Kortchinsky via All-commits
all-commits at lists.llvm.org
Thu Dec 17 10:02:31 PST 2020
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 1dbf2c96bce93e0a954806d9bdcafcb702a06672
https://github.com/llvm/llvm-project/commit/1dbf2c96bce93e0a954806d9bdcafcb702a06672
Author: Kostya Kortchinsky <kostyak at google.com>
Date: 2020-12-17 (Thu, 17 Dec 2020)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
Log Message:
-----------
[scudo][standalone] Allow the release of smaller sizes
Initially we were avoiding the release of smaller size classes due to
the fact that it was an expensive operation, particularly on 32-bit
platforms. With a lot of batches, and given that there are a lot of
blocks per page, this was a lengthy operation with little results.
There has been some improvements since then to the 32-bit release,
and we still have some criterias preventing us from wasting time
(eg, 9x% free blocks in the class size, etc).
Allowing to release blocks < 128 bytes helps in situations where a lot
of small chunks would not have been reclaimed if not for a forced
reclaiming.
Additionally change some `CHECK` to `DCHECK` and rearrange a bit the
code.
I didn't experience any regressions in my benchmarks.
Differential Revision: https://reviews.llvm.org/D93141
More information about the All-commits
mailing list