summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDoron Roberts-Kedes <doronrk@fb.com>2019-04-12 07:08:50 -0400
committerQi Wang <interwq@gmail.com>2019-04-29 13:35:02 -0700
commit7fc4f2a32c74701e40e98c8ac05aa7cf12d876c9 (patch)
tree2563f5cd932fc9a9bb124653ce5dbe1d18bd129b /test
parentae124b86849bb5464940db6731183dede6a70873 (diff)
Add nonfull_slabs to bin_stats_t.
When config_stats is enabled track the size of bin->slabs_nonfull in the new nonfull_slabs counter in bin_stats_t. This metric should be useful for establishing an upper ceiling on the savings possible by meshing.
Diffstat (limited to 'test')
-rw-r--r--test/unit/stats.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/unit/stats.c b/test/unit/stats.c
index 4323bfa3..646768e8 100644
--- a/test/unit/stats.c
+++ b/test/unit/stats.c
@@ -228,7 +228,7 @@ gen_mallctl_str(char *cmd, char *name, unsigned arena_ind) {
TEST_BEGIN(test_stats_arenas_bins) {
void *p;
- size_t sz, curslabs, curregs;
+ size_t sz, curslabs, curregs, nonfull_slabs;
uint64_t epoch, nmalloc, ndalloc, nrequests, nfills, nflushes;
uint64_t nslabs, nreslabs;
int expected = config_stats ? 0 : ENOENT;
@@ -289,6 +289,9 @@ TEST_BEGIN(test_stats_arenas_bins) {
gen_mallctl_str(cmd, "curslabs", arena_ind);
assert_d_eq(mallctl(cmd, (void *)&curslabs, &sz, NULL, 0), expected,
"Unexpected mallctl() result");
+ gen_mallctl_str(cmd, "nonfull_slabs", arena_ind);
+ assert_d_eq(mallctl(cmd, (void *)&nonfull_slabs, &sz, NULL, 0),
+ expected, "Unexpected mallctl() result");
if (config_stats) {
assert_u64_gt(nmalloc, 0,
@@ -309,6 +312,8 @@ TEST_BEGIN(test_stats_arenas_bins) {
"At least one slab should have been allocated");
assert_zu_gt(curslabs, 0,
"At least one slab should be currently allocated");
+ assert_zu_eq(nonfull_slabs, 0,
+ "slabs_nonfull should be empty");
}
dallocx(p, 0);