summaryrefslogtreecommitdiff
path: root/extstore.h
diff options
context:
space:
mode:
authordormando <dormando@rydia.net>2018-10-02 13:13:28 -0700
committerdormando <dormando@rydia.net>2018-10-02 13:13:28 -0700
commit566610d41bb224b3913ded99a53d1e2efa0a0d85 (patch)
tree2c4107dfbd439e5e58870c44b05174e36927a6c1 /extstore.h
parent3a4513ec445c559044a4cd981fd2b7679e450bf7 (diff)
downloadmemcached-566610d41bb224b3913ded99a53d1e2efa0a0d85.tar.gz
extstore: balance IO thread queues1.5.11
queues were roundrobin before. during sustained overload some queues can get behind while other stays empty. Simply do a bit more work to track depth and pick the lowest queue. This is fine for now since the bottleneck remains elsewhere. Been meaning to do this, benchmark work made it more obvious.
Diffstat (limited to 'extstore.h')
-rw-r--r--extstore.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/extstore.h b/extstore.h
index 6814415..0a27d0c 100644
--- a/extstore.h
+++ b/extstore.h
@@ -34,6 +34,7 @@ struct extstore_stats {
uint64_t bytes_read; /* wbuf - read -> bytes read from storage */
uint64_t bytes_used; /* total number of bytes stored */
uint64_t bytes_fragmented; /* see above comment */
+ uint64_t io_queue;
struct extstore_page_data *page_data;
};