summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChiaHungDuan <chiahungduan@google.com>2024-03-28 15:28:01 -0700
committerGitHub <noreply@github.com>2024-03-28 15:28:01 -0700
commit6b149f70abc2d0214cc29e7a2aeea428d3719491 (patch)
tree5dafe439d65fcba347fca490503a6fac375cfa06
parent6373577a2c72b0354b6ad6c4d1732f142aaffa80 (diff)
[scudo] Dump ReleaseToOsIntervalMs (#86887)
This can be adjusted during runtime and it may impact the memory footprint if it's set to a big value or is disabled.
-rw-r--r--compiler-rt/lib/scudo/standalone/primary64.h5
-rw-r--r--compiler-rt/lib/scudo/standalone/secondary.h10
2 files changed, 9 insertions, 6 deletions
diff --git a/compiler-rt/lib/scudo/standalone/primary64.h b/compiler-rt/lib/scudo/standalone/primary64.h
index f5e4ab57b4df..abce4bff321c 100644
--- a/compiler-rt/lib/scudo/standalone/primary64.h
+++ b/compiler-rt/lib/scudo/standalone/primary64.h
@@ -372,10 +372,11 @@ public:
PushedBlocks += Region->FreeListInfo.PushedBlocks;
}
}
+ const s32 IntervalMs = atomic_load_relaxed(&ReleaseToOsIntervalMs);
Str->append("Stats: SizeClassAllocator64: %zuM mapped (%uM rss) in %zu "
- "allocations; remains %zu\n",
+ "allocations; remains %zu; ReleaseToOsIntervalMs = %d\n",
TotalMapped >> 20, 0U, PoppedBlocks,
- PoppedBlocks - PushedBlocks);
+ PoppedBlocks - PushedBlocks, IntervalMs >= 0 ? IntervalMs : -1);
for (uptr I = 0; I < NumClasses; I++) {
RegionInfo *Region = getRegionInfo(I);
diff --git a/compiler-rt/lib/scudo/standalone/secondary.h b/compiler-rt/lib/scudo/standalone/secondary.h
index 202c55cc1a92..674af5071775 100644
--- a/compiler-rt/lib/scudo/standalone/secondary.h
+++ b/compiler-rt/lib/scudo/standalone/secondary.h
@@ -179,10 +179,12 @@ public:
uptr Fractional;
computePercentage(SuccessfulRetrieves, CallsToRetrieve, &Integral,
&Fractional);
- Str->append("Stats: MapAllocatorCache: EntriesCount: %d, "
- "MaxEntriesCount: %u, MaxEntrySize: %zu\n",
- EntriesCount, atomic_load_relaxed(&MaxEntriesCount),
- atomic_load_relaxed(&MaxEntrySize));
+ const s32 Interval = atomic_load_relaxed(&ReleaseToOsIntervalMs);
+ Str->append(
+ "Stats: MapAllocatorCache: EntriesCount: %d, "
+ "MaxEntriesCount: %u, MaxEntrySize: %zu, ReleaseToOsIntervalMs = %d\n",
+ EntriesCount, atomic_load_relaxed(&MaxEntriesCount),
+ atomic_load_relaxed(&MaxEntrySize), Interval >= 0 ? Interval : -1);
Str->append("Stats: CacheRetrievalStats: SuccessRate: %u/%u "
"(%zu.%02zu%%)\n",
SuccessfulRetrieves, CallsToRetrieve, Integral, Fractional);