diff options
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.c | 80 |
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); -} |
