Lines Matching refs:size
30 unsigned int size; /* sizes of items */ member
67 static void *memory_allocate(size_t size);
68 static void do_slabs_free(void *ptr, const size_t size, unsigned int id);
90 unsigned int slabs_clsid(const size_t size) { in slabs_clsid() argument
93 if (size == 0 || size > settings.item_size_max) in slabs_clsid()
95 while (size > slabclass[res].size) in slabs_clsid()
102 return slabclass[clsid].size; in slabs_size()
201 return p->size; in slabs_fixup()
210 unsigned int size = sizeof(item) + settings.chunk_size; in slabs_init() local
253 size = slab_sizes[i-1]; in slabs_init()
254 } else if (size >= settings.slab_chunk_size_max / factor) { in slabs_init()
258 if (size % CHUNK_ALIGN_BYTES) in slabs_init()
259 size += CHUNK_ALIGN_BYTES - (size % CHUNK_ALIGN_BYTES); in slabs_init()
261 slabclass[i].size = size; in slabs_init()
262 slabclass[i].perslab = settings.slab_page_size / slabclass[i].size; in slabs_init()
264 size *= factor; in slabs_init()
267 i, slabclass[i].size, slabclass[i].perslab); in slabs_init()
272 slabclass[power_largest].size = settings.slab_chunk_size_max; in slabs_init()
276 i, slabclass[i].size, slabclass[i].perslab); in slabs_init()
354 ptr += p->size; in split_slab_page_into_freelist()
374 : p->size * p->perslab; in do_slabs_newslab()
406 static void *do_slabs_alloc(const size_t size, unsigned int id, in do_slabs_alloc() argument
413 MEMCACHED_SLABS_ALLOCATE_FAILED(size, 0); in do_slabs_alloc()
419 assert(size <= p->size); in do_slabs_alloc()
442 MEMCACHED_SLABS_ALLOCATE(size, id, p->size, ret); in do_slabs_alloc()
444 MEMCACHED_SLABS_ALLOCATE_FAILED(size, id); in do_slabs_alloc()
450 static void do_slabs_free_chunked(item *it, const size_t size) { in do_slabs_free_chunked() argument
498 static void do_slabs_free(void *ptr, const size_t size, unsigned int id) { in do_slabs_free() argument
506 MEMCACHED_SLABS_FREE(size, id, ptr); in do_slabs_free()
520 do_slabs_free_chunked(it, size); in do_slabs_free()
537 cur->chunk_size = p->size; in fill_slab_stats_automove()
574 APPEND_NUM_STAT(i, "chunk_size", "%u", p->size); in do_slabs_stats()
610 static void *memory_allocate(size_t size) { in memory_allocate() argument
615 ret = malloc(size); in memory_allocate()
619 if (size > mem_avail) { in memory_allocate()
624 if (size % CHUNK_ALIGN_BYTES) { in memory_allocate()
625 size += CHUNK_ALIGN_BYTES - (size % CHUNK_ALIGN_BYTES); in memory_allocate()
628 mem_current = ((char*)mem_current) + size; in memory_allocate()
629 if (size < mem_avail) { in memory_allocate()
630 mem_avail -= size; in memory_allocate()
635 mem_malloced += size; in memory_allocate()
656 void *slabs_alloc(size_t size, unsigned int id, in slabs_alloc() argument
661 ret = do_slabs_alloc(size, id, flags); in slabs_alloc()
666 void slabs_free(void *ptr, size_t size, unsigned int id) { in slabs_free() argument
668 do_slabs_free(ptr, size, id); in slabs_free()
762 (s_cls->size * s_cls->perslab); in slab_rebalance_start()
789 static void *slab_rebalance_alloc(const size_t size, unsigned int id) { in slab_rebalance_alloc() argument
796 new_it = do_slabs_alloc(size, id, SLABS_ALLOC_NO_NEWPAGE); in slab_rebalance_alloc()
866 int offset = ((char*)slab_rebal.slab_pos-(char*)slab_rebal.slab_start)/(s_cls->size); in slab_rebalance_move()
975 ntotal = s_cls->size; in slab_rebalance_move()
987 (new_it = slab_rebalance_alloc(s_cls->size, slab_rebal.s_clsid)) == NULL) { in slab_rebalance_move()
1090 slab_rebal.slab_pos = (char *)slab_rebal.slab_pos + s_cls->size; in slab_rebalance_move()
1132 slab_rebal.slab_pos = (char *)slab_rebal.slab_pos + s_cls->size; in slab_rebalance_finish()