redict/deps/jemalloc/src
Oran Agra 88d71f4793 fix a rare active defrag edge case bug leading to stagnation
There's a rare case which leads to stagnation in the defragger, causing
it to keep scanning the keyspace and do nothing (not moving any
allocation), this happens when all the allocator slabs of a certain bin
have the same % utilization, but the slab from which new allocations are
made have a lower utilization.

this commit fixes it by removing the current slab from the overall
average utilization of the bin, and also eliminate any precision loss in
the utilization calculation and move the decision about the defrag to
reside inside jemalloc.

and also add a test that consistently reproduce this issue.
2020-05-20 16:04:42 +03:00
..
arena.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
background_thread.c Jemalloc: Avoid blocking on background thread lock for stats. 2019-06-02 15:27:38 +03:00
base.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
bin.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
bitmap.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
ckh.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
ctl.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
div.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
extent_dss.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
extent_mmap.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
extent.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
hash.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
hooks.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
jemalloc_cpp.cpp Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
jemalloc.c fix a rare active defrag edge case bug leading to stagnation 2020-05-20 16:04:42 +03:00
large.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
log.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
malloc_io.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
mutex_pool.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
mutex.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
nstime.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
pages.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
prng.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
prof.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
rtree.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
stats.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
sz.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
tcache.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
ticker.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
tsd.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
witness.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
zone.c Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00