]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: atomic deferred_batch_ops
authorxie xingguo <xie.xingguo@zte.com.cn>
Tue, 6 Jun 2017 01:21:05 +0000 (09:21 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Tue, 6 Jun 2017 02:41:55 +0000 (10:41 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index af3a0a22184083eb3ac47f0a21d6d45a908ba3cd..b6d5573adf8f2875a980da27ce0d52b51ede26f9 100644 (file)
@@ -8299,7 +8299,7 @@ void BlueStore::_kv_finalize_thread()
 
       if (!deferred_aggressive) {
        std::lock_guard<std::mutex> l(deferred_lock);
-       if (deferred_queue_size >= deferred_batch_ops ||
+       if (deferred_queue_size >= deferred_batch_ops.load() ||
            throttle_deferred_bytes.past_midpoint()) {
          _deferred_try_submit();
        }
index b19aa51ecb8c3a634b499de31f011537f4f5bc5f..56fff90d2edb855cb647813e962e11ba3a10db53 100644 (file)
@@ -1866,7 +1866,7 @@ private:
   size_t block_size_order = 0; ///< bits to shift to get block size
 
   uint64_t min_alloc_size = 0; ///< minimum allocation unit (power of 2)
-  int deferred_batch_ops = 0; ///< deferred batch size
+  std::atomic<int> deferred_batch_ops = {0}; ///< deferred batch size
 
   ///< bits for min_alloc_size
   std::atomic<uint8_t> min_alloc_size_order = {0};