From c6f7593f83435193a98cff23a6c469b4588cb282 Mon Sep 17 00:00:00 2001 From: dormando Date: Mon, 8 Aug 2016 12:11:27 -0700 Subject: fix over-allocating with large item support -I 2m would still allocate 2mb pages, then only use 1mb of it, halving memory capacity. --- slabs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'slabs.c') diff --git a/slabs.c b/slabs.c index efa4880..c54ae60 100644 --- a/slabs.c +++ b/slabs.c @@ -217,7 +217,8 @@ static void *get_page_from_global_pool(void) { static int do_slabs_newslab(const unsigned int id) { slabclass_t *p = &slabclass[id]; slabclass_t *g = &slabclass[SLAB_GLOBAL_PAGE_POOL]; - int len = settings.slab_reassign ? settings.item_size_max + int len = (settings.slab_reassign || settings.slab_chunk_size_max != settings.slab_page_size) + ? settings.slab_page_size : p->size * p->perslab; char *ptr; -- cgit v1.2.1