]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: do not wake kv thread if only deferred events pending
authorSage Weil <sage@redhat.com>
Mon, 3 Apr 2017 20:54:23 +0000 (16:54 -0400)
committerSage Weil <sage@redhat.com>
Wed, 5 Apr 2017 14:26:56 +0000 (10:26 -0400)
No need to wake up if there is only deferred work; we can do
it lazily.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 09c30c2b56b4f68ac1ab00b4d311573234fbff8d..8bdee10a504c521937ba6c0b0034a7ba8d359a60 100644 (file)
@@ -7701,8 +7701,8 @@ void BlueStore::_kv_sync_thread()
   while (true) {
     assert(kv_committing.empty());
     if (kv_queue.empty() &&
-       deferred_done_queue.empty() &&
-       deferred_stable_queue.empty()) {
+       ((deferred_done_queue.empty() && deferred_stable_queue.empty()) ||
+        !deferred_aggressive)) {
       if (kv_stop)
        break;
       dout(20) << __func__ << " sleep" << dendl;