summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorQi Wang <interwq@gwu.edu>2019-03-12 15:02:41 -0700
committerQi Wang <interwq@gmail.com>2019-03-14 17:34:55 -0700
commitfb56766ca9b398d07e2def5ead75a021fc08da03 (patch)
tree4c38c52f33d03fbaaed82f60a2a5d6702cc58707 /test
parentf6c30cbafab1a841dd08f00541ed9651054bbe4a (diff)
Eagerly purge oversized merged extents.
This change improves memory usage slightly, at virtually no CPU cost.
Diffstat (limited to 'test')
-rw-r--r--test/unit/decay.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/test/unit/decay.c b/test/unit/decay.c
index f727bf93..cf3c0796 100644
--- a/test/unit/decay.c
+++ b/test/unit/decay.c
@@ -122,6 +122,12 @@ get_arena_dirty_npurge(unsigned arena_ind) {
}
static uint64_t
+get_arena_dirty_purged(unsigned arena_ind) {
+ do_epoch();
+ return get_arena_npurge_impl("stats.arenas.0.dirty_purged", arena_ind);
+}
+
+static uint64_t
get_arena_muzzy_npurge(unsigned arena_ind) {
do_epoch();
return get_arena_npurge_impl("stats.arenas.0.muzzy_npurge", arena_ind);
@@ -559,7 +565,7 @@ TEST_BEGIN(test_decay_now) {
TEST_END
TEST_BEGIN(test_decay_never) {
- test_skip_if(check_background_thread_enabled());
+ test_skip_if(check_background_thread_enabled() || !config_stats);
unsigned arena_ind = do_arena_create(-1, -1);
int flags = MALLOCX_ARENA(arena_ind) | MALLOCX_TCACHE_NONE;
@@ -579,8 +585,8 @@ TEST_BEGIN(test_decay_never) {
dallocx(ptrs[i], flags);
size_t pdirty = get_arena_pdirty(arena_ind);
size_t pmuzzy = get_arena_pmuzzy(arena_ind);
- assert_zu_gt(pdirty, pdirty_prev,
- "Expected dirty pages to increase.");
+ assert_zu_gt(pdirty + (size_t)get_arena_dirty_purged(arena_ind),
+ pdirty_prev, "Expected dirty pages to increase.");
assert_zu_eq(pmuzzy, 0, "Unexpected muzzy pages");
pdirty_prev = pdirty;
}