From 655a09634347628abc6720ad1e2b6e1d08fdf8d9 Mon Sep 17 00:00:00 2001 From: David Goldblatt Date: Wed, 11 Mar 2020 08:14:25 -0700 Subject: [PATCH] Move bg inactivity check out of purge inner loop. I.e. do it once per call to arena_decay_stashed instead of once per muzzy purge. --- src/arena.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/arena.c b/src/arena.c index 35fefeb1..da3fa5c4 100644 --- a/src/arena.c +++ b/src/arena.c @@ -660,8 +660,6 @@ arena_decay_stashed(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, edata_size_get(edata))) { ecache_dalloc(tsdn, &arena->pa_shard, ehooks, &arena->pa_shard.ecache_muzzy, edata); - arena_background_thread_inactivity_check(tsdn, - arena, is_background_thread); break; } JEMALLOC_FALLTHROUGH; @@ -727,6 +725,8 @@ arena_decay_to_limit(tsdn_t *tsdn, arena_t *arena, decay_t *decay, decay_stats, ecache, all, &decay_extents); assert(npurged == npurge); } + arena_background_thread_inactivity_check(tsdn, arena, + is_background_thread); malloc_mutex_lock(tsdn, &decay->mtx); decay->purging = false;