From 29dedef4b7a35713e59f0990912930a2872d256b Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Thu, 24 Oct 2024 16:35:31 -0700 Subject: [PATCH] crimson: add CommonOBCPipeline Signed-off-by: Samuel Just --- src/crimson/osd/osd_operation.h | 12 +++++ .../osd/osd_operation_external_tracking.h | 52 ++++++++++++++++++- 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/src/crimson/osd/osd_operation.h b/src/crimson/osd/osd_operation.h index fd8b049c0bf..82fb816ab03 100644 --- a/src/crimson/osd/osd_operation.h +++ b/src/crimson/osd/osd_operation.h @@ -70,6 +70,18 @@ struct CommonPGPipeline { } wait_repop; }; +struct CommonOBCPipeline { + struct Process : OrderedExclusivePhaseT { + static constexpr auto type_name = "CommonOBCPipeline::process"; + } process; + struct WaitRepop : OrderedConcurrentPhaseT { + static constexpr auto type_name = "CommonOBCPipeline::wait_repop"; + } wait_repop; + struct SendReply : OrderedExclusivePhaseT { + static constexpr auto type_name = "CommonOBCPipeline::send_reply"; + } send_reply; +}; + enum class OperationTypeCode { client_request = 0, diff --git a/src/crimson/osd/osd_operation_external_tracking.h b/src/crimson/osd/osd_operation_external_tracking.h index d2786a95e4d..6956f5661c6 100644 --- a/src/crimson/osd/osd_operation_external_tracking.h +++ b/src/crimson/osd/osd_operation_external_tracking.h @@ -42,7 +42,11 @@ struct LttngBackend ClientRequest::PGPipeline::WaitRepop::BlockingEvent::Backend, ClientRequest::PGPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend, ClientRequest::PGPipeline::SendReply::BlockingEvent::Backend, - ClientRequest::CompletionEvent::Backend + ClientRequest::CompletionEvent::Backend, + CommonOBCPipeline::Process::BlockingEvent::Backend, + CommonOBCPipeline::WaitRepop::BlockingEvent::Backend, + CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend, + CommonOBCPipeline::SendReply::BlockingEvent::Backend { void handle(ClientRequest::StartEvent&, const Operation&) override {} @@ -145,8 +149,29 @@ struct LttngBackend const ClientRequest::PGPipeline::SendReply& blocker) override { } + void handle(CommonOBCPipeline::Process::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::Process& blocker) override { + } + + void handle(CommonOBCPipeline::WaitRepop::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::WaitRepop& blocker) override { + } + + void handle(CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent& ev, + const Operation& op) override { + } + + void handle(CommonOBCPipeline::SendReply::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::SendReply& blocker) override { + } + + void handle(ClientRequest::CompletionEvent&, const Operation&) override {} + }; struct HistoricBackend @@ -172,7 +197,11 @@ struct HistoricBackend ClientRequest::PGPipeline::WaitRepop::BlockingEvent::Backend, ClientRequest::PGPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend, ClientRequest::PGPipeline::SendReply::BlockingEvent::Backend, - ClientRequest::CompletionEvent::Backend + ClientRequest::CompletionEvent::Backend, + CommonOBCPipeline::Process::BlockingEvent::Backend, + CommonOBCPipeline::WaitRepop::BlockingEvent::Backend, + CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent::Backend, + CommonOBCPipeline::SendReply::BlockingEvent::Backend { void handle(ClientRequest::StartEvent&, const Operation&) override {} @@ -282,6 +311,25 @@ struct HistoricBackend #endif } + void handle(CommonOBCPipeline::Process::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::Process& blocker) override { + } + + void handle(CommonOBCPipeline::WaitRepop::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::WaitRepop& blocker) override { + } + + void handle(CommonOBCPipeline::WaitRepop::BlockingEvent::ExitBarrierEvent& ev, + const Operation& op) override { + } + + void handle(CommonOBCPipeline::SendReply::BlockingEvent& ev, + const Operation& op, + const CommonOBCPipeline::SendReply& blocker) override { + } + void handle(ClientRequest::CompletionEvent&, const Operation& op) override { if (crimson::common::local_conf()->osd_op_history_size) { to_client_request(op).put_historic(); -- 2.39.5