From c82382ea2c213c59d5b1f5e006c3221f6fb61008 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 27 Dec 2018 16:13:49 -0800 Subject: [PATCH] ircd::db: Use a zero soft-limit to yield all requests when saturated; prefetch condition. --- ircd/db.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ircd/db.cc b/ircd/db.cc index dad930aa1..d7c58242e 100644 --- a/ircd/db.cc +++ b/ircd/db.cc @@ -109,6 +109,7 @@ ircd::db::request "db req", size_t(request_pool_stack_size), 0, // don't prespawn because this is static + 0, // zero-size queue will yield submitter }; /// This mutex is necessary to serialize entry into rocksdb's write impl @@ -9859,6 +9860,9 @@ ircd::db::prefetch(column &column, if(cached(column, key, gopts)) return; + if(!request.avail()) + return; + request([column(column), key(std::string(key)), gopts] () mutable {