From 302ec7b9bc49c4c88fd7c9e579de897005bff45e Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 3 Oct 2013 17:14:35 +0000 Subject: tsan: add memory_limit_mb flag The flag allows to bound maximum process memory consumption (best effort). If RSS reaches memory_limit_mb, tsan flushes all shadow memory. llvm-svn: 191913 --- compiler-rt/lib/tsan/rtl/tsan_flags.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler-rt/lib/tsan/rtl/tsan_flags.cc') diff --git a/compiler-rt/lib/tsan/rtl/tsan_flags.cc b/compiler-rt/lib/tsan/rtl/tsan_flags.cc index a1f82004074..acf787d56ce 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_flags.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_flags.cc @@ -59,6 +59,7 @@ void InitializeFlags(Flags *f, const char *env) { f->profile_memory = ""; f->flush_memory_ms = 0; f->flush_symbolizer_ms = 5000; + f->memory_limit_mb = 0; f->stop_on_start = false; f->running_on_valgrind = false; f->external_symbolizer_path = ""; @@ -92,6 +93,7 @@ void InitializeFlags(Flags *f, const char *env) { ParseFlag(env, &f->profile_memory, "profile_memory"); ParseFlag(env, &f->flush_memory_ms, "flush_memory_ms"); ParseFlag(env, &f->flush_symbolizer_ms, "flush_symbolizer_ms"); + ParseFlag(env, &f->memory_limit_mb, "memory_limit_mb"); ParseFlag(env, &f->stop_on_start, "stop_on_start"); ParseFlag(env, &f->external_symbolizer_path, "external_symbolizer_path"); ParseFlag(env, &f->history_size, "history_size"); -- cgit v1.2.3