]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/.../ephemeral: replace sleep(1ms) with seastar::yield() 64926/head
authorChanyoung Park <chaney.p@kakaoenterprise.com>
Sun, 10 Aug 2025 04:44:20 +0000 (04:44 +0000)
committerChanyoung Park <chaney.p@kakaoenterprise.com>
Sun, 10 Aug 2025 06:10:04 +0000 (06:10 +0000)
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 <chaney.p@kakaoenterprise.com>
src/crimson/os/seastore/segment_manager/ephemeral.cc

index 858870c75cc03738c2c1ca4702a5194482d79630..13aa8d5339c6797f584eebcce2735e158e6a7a3e 100644 (file)
@@ -4,8 +4,6 @@
 #include <sys/mman.h>
 #include <string.h>
 
-#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();
   });
 }