summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-diff/DiffLog.cpp
diff options
context:
space:
mode:
authorKostya Kortchinsky <kostyak@google.com>2017-11-15 16:40:27 +0000
committerKostya Kortchinsky <kostyak@google.com>2017-11-15 16:40:27 +0000
commit58f2656d7e1d98030ef04229f7f55187cb1fb286 (patch)
tree3f3685a81cf383b13dbe6cba3a7b67f4c83c3e2b /llvm/tools/llvm-diff/DiffLog.cpp
parent956dec63fb4ea52877fb7bace0491b6ba437d186 (diff)
downloadbcm5719-llvm-58f2656d7e1d98030ef04229f7f55187cb1fb286.tar.gz
bcm5719-llvm-58f2656d7e1d98030ef04229f7f55187cb1fb286.zip
[scudo] Soft and hard RSS limit checks
Summary: This implements an opportunistic check for the RSS limit. For ASan, this was implemented thanks to a background thread checking the current RSS vs the set limit every 100ms. This was deemed problematic for Scudo due to potential Android concerns (Zygote as pointed out by Aleksey) as well as the general inconvenience of having a permanent background thread. If a limit (soft or hard) is specified, we will attempt to update the RSS limit status (exceeded or not) every 100ms. This is done in an opportunistic way: if we can update it, we do it, if not we return the current status, mostly because we don't need it to be fully consistent (it's done every 100ms anyway). If the limit is exceeded `allocate` will act as if OOM for a soft limit, or just die for a hard limit. We use the `common_flags()`'s `hard_rss_limit_mb` & `soft_rss_limit_mb` for configuration of the limits. Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40038 llvm-svn: 318301
Diffstat (limited to 'llvm/tools/llvm-diff/DiffLog.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud