From: Jianpeng Ma Date: Thu, 29 Aug 2019 14:45:12 +0000 (+0800) Subject: os/bluestore: Merge deferred_finisher and finisher. X-Git-Tag: v15.1.0~1559^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=effaf4b337bcb97a7c7fc1b65cada8e844de55fd;p=ceph.git os/bluestore: Merge deferred_finisher and finisher. Two finisheres don't much work. So merge to one. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index a936d445be5..9508fbbbb3c 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4059,7 +4059,6 @@ BlueStore::BlueStore(CephContext *cct, const string& path) throttle_deferred_bytes(cct, "bluestore_throttle_deferred_bytes", cct->_conf->bluestore_throttle_bytes + cct->_conf->bluestore_throttle_deferred_bytes), - deferred_finisher(cct, "defered_finisher", "dfin"), finisher(cct, "commit_finisher", "cfin"), kv_sync_thread(this), kv_finalize_thread(this), @@ -4079,7 +4078,6 @@ BlueStore::BlueStore(CephContext *cct, throttle_deferred_bytes(cct, "bluestore_throttle_deferred_bytes", cct->_conf->bluestore_throttle_bytes + cct->_conf->bluestore_throttle_deferred_bytes), - deferred_finisher(cct, "defered_finisher", "dfin"), finisher(cct, "commit_finisher", "cfin"), kv_sync_thread(this), kv_finalize_thread(this), @@ -10782,7 +10780,6 @@ void BlueStore::_kv_start() { dout(10) << __func__ << dendl; - deferred_finisher.start(); finisher.start(); kv_sync_thread.create("bstore_kv_sync"); kv_finalize_thread.create("bstore_kv_final"); @@ -10819,8 +10816,6 @@ void BlueStore::_kv_stop() kv_finalize_stop = false; } dout(10) << __func__ << " stopping finishers" << dendl; - deferred_finisher.wait_for_empty(); - deferred_finisher.stop(); finisher.wait_for_empty(); finisher.stop(); dout(10) << __func__ << " stopped" << dendl; @@ -11302,7 +11297,7 @@ void BlueStore::_deferred_aio_finish(OpSequencer *osr) deferred_lock.unlock(); if (deferred_aggressive) { dout(20) << __func__ << " queuing async deferred_try_submit" << dendl; - deferred_finisher.queue(new C_DeferredTrySubmit(this)); + finisher.queue(new C_DeferredTrySubmit(this)); } else { dout(20) << __func__ << " leaving queued, more pending" << dendl; } diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index c3fe59c5859..34090702118 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -1815,7 +1815,7 @@ private: deferred_osr_queue_t deferred_queue; ///< osr's with deferred io pending int deferred_queue_size = 0; ///< num txc's queued across all osrs atomic_int deferred_aggressive = {0}; ///< aggressive wakeup of kv thread - Finisher deferred_finisher, finisher; + Finisher finisher; utime_t deferred_last_submitted = utime_t(); KVSyncThread kv_sync_thread;