diff options
author | Joshua Baehring <98630690+JoshuaMBa@users.noreply.github.com> | 2024-08-19 18:03:35 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-19 18:03:35 -0700 |
commit | 27dc247964472aaf92ea55cc37310cda25a002ab (patch) | |
tree | acdfd8d31dc355fb951fe5060470e17087788cd1 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | |
parent | 43b508566799751aa180f1eaaafc5be693f2f1ae (diff) | |
download | llvm-27dc247964472aaf92ea55cc37310cda25a002ab.zip llvm-27dc247964472aaf92ea55cc37310cda25a002ab.tar.gz llvm-27dc247964472aaf92ea55cc37310cda25a002ab.tar.bz2 |
[scudo] Add partial chunk heuristic to retrieval algorithm. (#104807)
Previously the secondary cache retrieval algorithm would not allow
retrievals of memory chunks where the number of unused bytes would be
greater than than `MaxUnusedCachePages * PageSize` bytes. This meant
that even if a memory chunk satisfied the requirements of the optimal
fit algorithm, it may not be returned. This remains true if memory
tagging is enabled. However, if memory tagging is disabled, a new
heuristic has been put in place. Specifically, If a memory chunk is a
non-optimal fit, the cache retrieval algorithm will attempt to release
the excess memory to force a cache hit while keeping RSS down.
In the event that a memory chunk is a non-optimal fit, the retrieval
algorithm will release excess memory as long as the amount of memory to
be released is less than or equal to 16 KB. If the amount of memory to
be released exceeds 16 KB, the retrieval algorithm will not consider
that cached memory chunk valid for retrieval.
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions