diff options
Diffstat (limited to 'src/arena.c')
-rw-r--r-- | src/arena.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/arena.c b/src/arena.c index 70d71fc..7362c4e 100644 --- a/src/arena.c +++ b/src/arena.c @@ -1625,6 +1625,21 @@ arena_stats_merge(tsdn_t *tsdn, arena_t *arena, unsigned *nthreads, lstats[i].nrequests += arena->stats.lstats[i].nrequests; lstats[i].curlextents += arena->stats.lstats[i].curlextents; } + + if (config_tcache) { + tcache_bin_t *tbin; + tcache_t *tcache; + + /* tcache_bytes counts currently cached bytes. */ + astats->tcache_bytes = 0; + ql_foreach(tcache, &arena->tcache_ql, link) { + for (i = 0; i < nhbins; i++) { + tbin = &tcache->tbins[i]; + astats->tcache_bytes += tbin->ncached * + index2size(i); + } + } + } malloc_mutex_unlock(tsdn, &arena->lock); for (i = 0; i < NBINS; i++) { |