|
235 | 235 | #include <ydb/library/actors/interconnect/load.h> |
236 | 236 | #include <ydb/library/actors/interconnect/poller/poller_actor.h> |
237 | 237 | #include <ydb/library/actors/interconnect/poller/poller_tcp.h> |
| 238 | +#include <ydb/library/actors/interconnect/rdma/cq_actor/cq_actor.h> |
| 239 | +#include <ydb/library/actors/interconnect/rdma/mem_pool.h> |
238 | 240 | #include <ydb/library/actors/util/affinity.h> |
239 | 241 | #include <ydb/library/actors/wilson/wilson_uploader.h> |
240 | 242 | #include <ydb/library/slide_limiter/service/service.h> |
@@ -503,6 +505,10 @@ static TInterconnectSettings GetInterconnectSettings(const NKikimrConfig::TInter |
503 | 505 | } |
504 | 506 | } |
505 | 507 |
|
| 508 | + if (config.HasRdmaChecksum()) { |
| 509 | + result.RdmaChecksum = config.GetRdmaChecksum(); |
| 510 | + } |
| 511 | + |
506 | 512 | return result; |
507 | 513 | } |
508 | 514 |
|
@@ -626,6 +632,17 @@ void TBasicServicesInitializer::InitializeServices(NActors::TActorSystemSetup* s |
626 | 632 |
|
627 | 633 | TIntrusivePtr<TInterconnectProxyCommon> icCommon; |
628 | 634 | icCommon.Reset(new TInterconnectProxyCommon); |
| 635 | + |
| 636 | + if (icConfig.GetUseRdma()) { |
| 637 | + setup->LocalServices.emplace_back(NInterconnect::NRdma::MakeCqActorId(), |
| 638 | + TActorSetupCmd(NInterconnect::NRdma::CreateCqActor(-1, icConfig.GetRdmaMaxWr()), TMailboxType::ReadAsFilled, interconnectPoolId)); |
| 639 | + |
| 640 | + // Interconnect uses rdma mem pool directly |
| 641 | + const auto counters = GetServiceCounters(appData->Counters, "utils"); |
| 642 | + icCommon->RdmaMemPool = NInterconnect::NRdma::CreateSlotMemPool(counters.Get()); |
| 643 | + // Clients via wrapper to handle allocation fail |
| 644 | + setup->RcBufAllocator = std::make_shared<TRdmaAllocatorWithFallback>(icCommon->RdmaMemPool); |
| 645 | + } |
629 | 646 | icCommon->NameserviceId = nameserviceId; |
630 | 647 | icCommon->MonCounters = GetServiceCounters(counters, "interconnect"); |
631 | 648 | icCommon->ChannelsConfig = channels; |
|
0 commit comments