From c15e56e386251403a876454f6a4aa186284565e1 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Wed, 27 Dec 2023 13:16:11 +0800 Subject: [PATCH] crimson/os/alienstore: submit from the alien world concurrently Signed-off-by: Yingxin Cheng --- src/crimson/os/alienstore/alien_log.cc | 1 + src/crimson/os/alienstore/alien_store.cc | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/crimson/os/alienstore/alien_log.cc b/src/crimson/os/alienstore/alien_log.cc index b371af897a2f4..a0f5b03a5d39d 100644 --- a/src/crimson/os/alienstore/alien_log.cc +++ b/src/crimson/os/alienstore/alien_log.cc @@ -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( diff --git a/src/crimson/os/alienstore/alien_store.cc b/src/crimson/os/alienstore/alien_store.cc index 593716df3519c..d53dacb182461 100644 --- a/src/crimson/os/alienstore/alien_store.cc +++ b/src/crimson/os/alienstore/alien_store.cc @@ -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(); + }); } }; } -- 2.39.5