Clear tcache prof_accumbytes in tcache_flush_cache

`tcache->prof_accumbytes` should always be cleared after being
transferred to arena; otherwise the allocations would be double
counted, leading to excessive prof dumps.
This commit is contained in:
Yinan Zhang 2019-06-12 17:24:30 -07:00
parent ad3f7dbfa0
commit a219cfcda3

View File

@ -529,11 +529,13 @@ tcache_flush_cache(tsd_t *tsd, tcache_t *tcache) {
} }
} }
if (config_prof && tcache->prof_accumbytes > 0 && if (config_prof && tcache->prof_accumbytes > 0) {
arena_prof_accum(tsd_tsdn(tsd), tcache->arena, if (arena_prof_accum(tsd_tsdn(tsd), tcache->arena,
tcache->prof_accumbytes)) { tcache->prof_accumbytes)) {
prof_idump(tsd_tsdn(tsd)); prof_idump(tsd_tsdn(tsd));
} }
tcache->prof_accumbytes = 0;
}
} }
void void