summaryrefslogtreecommitdiff
path: root/slabs.h
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2016-07-11 19:06:56 -0700
committerdormando <dormando@rydia.net>2016-07-12 18:42:46 -0700
commitee461d1102053668758e19922813617a0cb9bba6 (patch)
tree2049dcc9b83fd9b20a3216ece114ab6a54d89f77 /slabs.h
parent6975235c3d3a3af812a1fc2896f07d9dab1d2eee (diff)
downloadmemcached-ee461d1102053668758e19922813617a0cb9bba6.tar.gz
slabs reassigns works with chunks and chunked items.
also fixes the new LRU algorithm to balance by total bytes used rather than total chunks used, since total chunks used isn't tracked for multi-chunk items. also fixes a bug where the lru limit wasn't being utilized for HOT_LRU also some cleanup from previous commits.
Diffstat (limited to 'slabs.h')
-rw-r--r--slabs.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/slabs.h b/slabs.h
index e8bf99e..8efbc45 100644
--- a/slabs.h
+++ b/slabs.h
@@ -20,7 +20,7 @@ unsigned int slabs_clsid(const size_t size);
/** Allocate object of given length. 0 on error */ /*@null@*/
#define SLABS_ALLOC_NO_NEWPAGE 1
-void *slabs_alloc(const size_t size, unsigned int id, unsigned int *total_chunks, unsigned int flags);
+void *slabs_alloc(const size_t size, unsigned int id, uint64_t *total_bytes, unsigned int flags);
/** Free previously allocated object */
void slabs_free(void *ptr, size_t size, unsigned int id);
@@ -38,7 +38,7 @@ bool get_stats(const char *stat_type, int nkey, ADD_STAT add_stats, void *c);
void slabs_stats(ADD_STAT add_stats, void *c);
/* Hints as to freespace in slab class */
-unsigned int slabs_available_chunks(unsigned int id, bool *mem_flag, unsigned int *total_chunks, unsigned int *chunks_perslab);
+unsigned int slabs_available_chunks(unsigned int id, bool *mem_flag, uint64_t *total_bytes, unsigned int *chunks_perslab);
int start_slab_maintenance_thread(void);
void stop_slab_maintenance_thread(void);