]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/alienstore: submit from the alien world concurrently 55039/head
authorYingxin Cheng <yingxin.cheng@intel.com>
Wed, 27 Dec 2023 05:16:11 +0000 (13:16 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Fri, 12 Jan 2024 02:30:05 +0000 (10:30 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/alienstore/alien_log.cc
src/crimson/os/alienstore/alien_store.cc

index b371af897a2f4296a2d2db1f3cc0cba6196f2ae2..a0f5b03a5d39d712fdfdb0540cd5188a8d22f55f 100644 (file)
@@ -17,6 +17,7 @@ CnLog::~CnLog() {
 }
 
 void CnLog::_flush(EntryVector& q, bool crash) {
+  // XXX: the waiting here will block the thread for an indeterministic peroid
   seastar::alien::submit_to(inst, shard, [&q] {
     for (auto& it : q) {
       crimson::get_logger(it.m_subsys).log(
index 593716df3519c3f0ad67c4c277ead22eeef59a89..d53dacb182461bee90f9306828fc2f12b2744053 100644 (file)
@@ -57,10 +57,11 @@ public:
   }
 
   void finish(int) final {
-    return seastar::alien::submit_to(alien, cpuid, [this] {
-      alien_done.set_value();
+    std::ignore = seastar::alien::submit_to(alien, cpuid,
+        [&_alien_done=this->alien_done] {
+      _alien_done.set_value();
       return seastar::make_ready_future<>();
-    }).wait();
+    });
   }
 };
 }