aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
diff options
context:
space:
mode:
authorJoshua Baehring <98630690+JoshuaMBa@users.noreply.github.com>2024-08-19 18:03:35 -0700
committerGitHub <noreply@github.com>2024-08-19 18:03:35 -0700
commit27dc247964472aaf92ea55cc37310cda25a002ab (patch)
treeacdfd8d31dc355fb951fe5060470e17087788cd1 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
parent43b508566799751aa180f1eaaafc5be693f2f1ae (diff)
downloadllvm-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