summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c')
-rw-r--r--examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c b/examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c
deleted file mode 100644
index f6a66f2..0000000
--- a/examples/redis-unstable/deps/jemalloc/test/integration/slab_sizes.c
+++ /dev/null
@@ -1,80 +0,0 @@
-#include "test/jemalloc_test.h"
-
-/* Note that this test relies on the unusual slab sizes set in slab_sizes.sh. */
-
-TEST_BEGIN(test_slab_sizes) {
- unsigned nbins;
- size_t page;
- size_t sizemib[4];
- size_t slabmib[4];
- size_t len;
-
- len = sizeof(nbins);
- expect_d_eq(mallctl("arenas.nbins", &nbins, &len, NULL, 0), 0,
- "nbins mallctl failure");
-
- len = sizeof(page);
- expect_d_eq(mallctl("arenas.page", &page, &len, NULL, 0), 0,
- "page mallctl failure");
-
- len = 4;
- expect_d_eq(mallctlnametomib("arenas.bin.0.size", sizemib, &len), 0,
- "bin size mallctlnametomib failure");
-
- len = 4;
- expect_d_eq(mallctlnametomib("arenas.bin.0.slab_size", slabmib, &len),
- 0, "slab size mallctlnametomib failure");
-
- size_t biggest_slab_seen = 0;
-
- for (unsigned i = 0; i < nbins; i++) {
- size_t bin_size;
- size_t slab_size;
- len = sizeof(size_t);
- sizemib[2] = i;
- slabmib[2] = i;
- expect_d_eq(mallctlbymib(sizemib, 4, (void *)&bin_size, &len,
- NULL, 0), 0, "bin size mallctlbymib failure");
-
- len = sizeof(size_t);
- expect_d_eq(mallctlbymib(slabmib, 4, (void *)&slab_size, &len,
- NULL, 0), 0, "slab size mallctlbymib failure");
-
- if (bin_size < 100) {
- /*
- * Then we should be as close to 17 as possible. Since
- * not all page sizes are valid (because of bitmap
- * limitations on the number of items in a slab), we
- * should at least make sure that the number of pages
- * goes up.
- */
- expect_zu_ge(slab_size, biggest_slab_seen,
- "Slab sizes should go up");
- biggest_slab_seen = slab_size;
- } else if (
- (100 <= bin_size && bin_size < 128)
- || (128 < bin_size && bin_size <= 200)) {
- expect_zu_eq(slab_size, page,
- "Forced-small slabs should be small");
- } else if (bin_size == 128) {
- expect_zu_eq(slab_size, 2 * page,
- "Forced-2-page slab should be 2 pages");
- } else if (200 < bin_size && bin_size <= 4096) {
- expect_zu_ge(slab_size, biggest_slab_seen,
- "Slab sizes should go up");
- biggest_slab_seen = slab_size;
- }
- }
- /*
- * For any reasonable configuration, 17 pages should be a valid slab
- * size for 4096-byte items.
- */
- expect_zu_eq(biggest_slab_seen, 17 * page, "Didn't hit page target");
-}
-TEST_END
-
-int
-main(void) {
- return test(
- test_slab_sizes);
-}