From e56c7b9f7ddd3d2cd01651703671495daafe46f5 Mon Sep 17 00:00:00 2001 From: Chanyoung Park Date: Sun, 10 Aug 2025 04:44:20 +0000 Subject: [PATCH] crimson/.../ephemeral: replace sleep(1ms) with seastar::yield() Replaced fixed 1ms sleep calls with seastar::yield() to eliminate unnecessary wall-clock delays while still yielding execution to the scheduler Signed-off-by: Chanyoung Park --- .../os/seastore/segment_manager/ephemeral.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/crimson/os/seastore/segment_manager/ephemeral.cc b/src/crimson/os/seastore/segment_manager/ephemeral.cc index 858870c75cc03..13aa8d5339c67 100644 --- a/src/crimson/os/seastore/segment_manager/ephemeral.cc +++ b/src/crimson/os/seastore/segment_manager/ephemeral.cc @@ -4,8 +4,6 @@ #include #include -#include "seastar/core/sleep.hh" - #include "crimson/common/log.h" #include "include/buffer.h" @@ -93,7 +91,7 @@ segment_off_t EphemeralSegment::get_write_capacity() const Segment::close_ertr::future<> EphemeralSegment::close() { return manager.segment_close(id).safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } @@ -123,7 +121,7 @@ Segment::close_ertr::future<> EphemeralSegmentManager::segment_close(segment_id_ segment_state[s_id] = segment_state_t::CLOSED; return Segment::close_ertr::now().safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } @@ -157,7 +155,7 @@ Segment::write_ertr::future<> EphemeralSegmentManager::segment_write( bl.begin().copy(bl.length(), buffer + get_offset(addr)); return Segment::write_ertr::now().safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } @@ -189,7 +187,7 @@ EphemeralSegmentManager::init_ertr::future<> EphemeralSegmentManager::init() buffer = (char*)addr; return init_ertr::now().safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } @@ -249,7 +247,7 @@ SegmentManager::release_ertr::future<> EphemeralSegmentManager::release( ::memset(buffer + get_offset(paddr_t::make_seg_paddr(id, 0)), 0, config.segment_size); segment_state[s_id] = segment_state_t::EMPTY; return release_ertr::now().safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } @@ -288,7 +286,7 @@ SegmentManager::read_ertr::future<> EphemeralSegmentManager::read( bl.begin().crc32c(len, 1)); return read_ertr::now().safe_then([] { - return seastar::sleep(std::chrono::milliseconds(1)); + return seastar::yield(); }); } -- 2.39.5