diff options
author | Oran Agra <oran@redislabs.com> | 2020-05-20 14:08:40 +0300 |
---|---|---|
committer | Yoav Steinberg <yoav@monfort.co.il> | 2021-10-12 12:55:35 +0300 |
commit | c6a26519a1f001c3d9ac066b0822c33dfab8e0e0 (patch) | |
tree | cc5e8669481decaec19783ec2f78cecffab11772 /deps/hiredis/.gitignore | |
parent | 908d3bdad96ca44f2019d074f5d548058ab5d27c (diff) | |
download | redis-c6a26519a1f001c3d9ac066b0822c33dfab8e0e0.tar.gz |
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.
Diffstat (limited to 'deps/hiredis/.gitignore')
0 files changed, 0 insertions, 0 deletions