summaryrefslogtreecommitdiffstats
path: root/src/arena.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arena.c')
-rw-r--r--src/arena.c15
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++) {