diff --git a/compiler-rt/lib/scudo/standalone/primary64.h b/compiler-rt/lib/scudo/standalone/primary64.h index f5e4ab57b4dfd5..abce4bff321cb1 100644 --- a/compiler-rt/lib/scudo/standalone/primary64.h +++ b/compiler-rt/lib/scudo/standalone/primary64.h @@ -372,10 +372,11 @@ template class SizeClassAllocator64 { 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 202c55cc1a92b2..674af507177586 100644 --- a/compiler-rt/lib/scudo/standalone/secondary.h +++ b/compiler-rt/lib/scudo/standalone/secondary.h @@ -179,10 +179,12 @@ template class MapAllocatorCache { 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);