Skip to content

Commit 4ad3729

Browse files
AlaiaLcodebot
authored andcommitted
worker_manager: moved du_gptu_size to the optional DU high configuration. gNB and DU applications fill that field
1 parent d9e8055 commit 4ad3729

File tree

8 files changed

+23
-14
lines changed

8 files changed

+23
-14
lines changed

apps/du/du.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ int main(int argc, char** argv)
246246

247247
// Instantiate worker manager.
248248
worker_manager_config worker_manager_cfg;
249-
fill_du_worker_manager_config(worker_manager_cfg, du_cfg);
250249
du_app_unit->fill_worker_manager_config(worker_manager_cfg);
250+
fill_du_worker_manager_config(worker_manager_cfg, du_cfg);
251251

252252
worker_manager workers{worker_manager_cfg};
253253

apps/du/du_appconfig_translators.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ srsran::sctp_network_connector_config srsran::generate_e2ap_nw_config(const e2_a
4747

4848
void srsran::fill_du_worker_manager_config(worker_manager_config& config, const du_appconfig& unit_cfg)
4949
{
50-
config.du_nru_queue_size = unit_cfg.nru_cfg.pdu_queue_size;
51-
config.nof_low_prio_threads = unit_cfg.expert_execution_cfg.threads.non_rt_threads.nof_non_rt_threads;
52-
config.low_prio_sched_config = unit_cfg.expert_execution_cfg.affinities.low_priority_cpu_cfg;
50+
srsran_assert(config.du_hi_cfg, "DU high worker config does not exist");
51+
52+
config.du_hi_cfg->pdu_queue_size = unit_cfg.nru_cfg.pdu_queue_size;
53+
config.nof_low_prio_threads = unit_cfg.expert_execution_cfg.threads.non_rt_threads.nof_non_rt_threads;
54+
config.low_prio_sched_config = unit_cfg.expert_execution_cfg.affinities.low_priority_cpu_cfg;
5355
}

apps/gnb/gnb.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,10 +313,10 @@ int main(int argc, char** argv)
313313

314314
// Instantiate worker manager.
315315
worker_manager_config worker_manager_cfg;
316-
fill_gnb_worker_manager_config(worker_manager_cfg, gnb_cfg);
317316
cu_cp_app_unit->fill_worker_manager_config(worker_manager_cfg);
318317
cu_up_app_unit->fill_worker_manager_config(worker_manager_cfg);
319318
du_app_unit->fill_worker_manager_config(worker_manager_cfg);
319+
fill_gnb_worker_manager_config(worker_manager_cfg, gnb_cfg);
320320

321321
worker_manager workers{worker_manager_cfg};
322322

apps/gnb/gnb_appconfig_translators.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ srsran::sctp_network_connector_config srsran::generate_e2ap_nw_config(const e2_a
4848

4949
void srsran::fill_gnb_worker_manager_config(worker_manager_config& config, const gnb_appconfig& unit_cfg)
5050
{
51-
config.nof_low_prio_threads = unit_cfg.expert_execution_cfg.threads.non_rt_threads.nof_non_rt_threads;
52-
config.low_prio_sched_config = unit_cfg.expert_execution_cfg.affinities.low_priority_cpu_cfg;
51+
srsran_assert(config.cu_up_cfg, "CU-UP worker config does not exist");
52+
srsran_assert(config.du_hi_cfg, "DU high worker config does not exist");
53+
54+
config.du_hi_cfg->pdu_queue_size = config.cu_up_cfg->gtpu_queue_size;
55+
config.nof_low_prio_threads = unit_cfg.expert_execution_cfg.threads.non_rt_threads.nof_non_rt_threads;
56+
config.low_prio_sched_config = unit_cfg.expert_execution_cfg.affinities.low_priority_cpu_cfg;
5357
}

apps/services/worker_manager.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,10 +330,12 @@ void worker_manager::create_low_prio_executors(const worker_manager_config& work
330330
for (unsigned i = 0; i != worker_cfg.du_hi_cfg->nof_cells; ++i) {
331331
low_prio_strands.push_back(strand{
332332
{{fmt::format("du_rb_prio_exec#{}", i), concurrent_queue_policy::lockfree_mpmc, task_worker_queue_size},
333-
{fmt::format("du_rb_ul_exec#{}", i), concurrent_queue_policy::lockfree_mpmc, worker_cfg.du_nru_queue_size},
333+
{fmt::format("du_rb_ul_exec#{}", i),
334+
concurrent_queue_policy::lockfree_mpmc,
335+
worker_cfg.du_hi_cfg->pdu_queue_size},
334336
{fmt::format("du_rb_dl_exec#{}", i),
335337
concurrent_queue_policy::lockfree_mpmc,
336-
worker_cfg.du_nru_queue_size}}});
338+
worker_cfg.du_hi_cfg->pdu_queue_size}}});
337339
}
338340
}
339341

apps/services/worker_manager_config.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,12 @@ struct worker_manager_config {
6565

6666
/// DU high worker configuration.
6767
struct du_high_config {
68+
/// DU-high PDU queue size.
69+
unsigned pdu_queue_size;
70+
/// DU high number of cells.
6871
unsigned nof_cells;
69-
bool is_rt_mode_enabled;
72+
/// Real-time mode enabled flag.
73+
bool is_rt_mode_enabled;
7074
};
7175

7276
// CU-UP worker configuration
@@ -95,8 +99,6 @@ struct worker_manager_config {
9599
os_sched_affinity_config low_prio_sched_config;
96100
/// PCAP configuration.
97101
pcap_config pcap_cfg;
98-
/// DU-high NRU queue size.
99-
unsigned du_nru_queue_size;
100102
/// Vector of affinities mask indexed by cell.
101103
std::vector<std::vector<os_sched_affinity_config>> config_affinities;
102104
/// CU-UP configuration.

apps/units/cu_up/cu_up_unit_config_cli11_schema.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ static void configure_cli11_test_mode_args(CLI::App& app, cu_up_unit_test_mode_c
150150
void srsran::configure_cli11_with_cu_up_unit_config_schema(CLI::App& app, cu_up_unit_config& unit_cfg)
151151
{
152152
// CU-UP section.
153-
CLI::App* cu_up_subcmd = add_subcommand(app, "cu_up", "CU-CP parameters")->configurable();
153+
CLI::App* cu_up_subcmd = add_subcommand(app, "cu_up", "CU-UP parameters")->configurable();
154154
configure_cli11_cu_up_args(*cu_up_subcmd, unit_cfg);
155155

156156
// Loggers section.

apps/units/cu_up/cu_up_unit_config_translators.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ void srsran::fill_cu_up_worker_manager_config(worker_manager_config& config, con
7070
config.cu_up_cfg = worker_manager_config::cu_up_config{};
7171

7272
config.cu_up_cfg.value().gtpu_queue_size = unit_cfg.gtpu_queue_size;
73-
config.du_nru_queue_size = unit_cfg.gtpu_queue_size; // TODO: Set it in DU-high config.
7473

7574
auto& pcap_cfg = config.pcap_cfg;
7675
if (unit_cfg.pcap_cfg.e1ap.enabled) {

0 commit comments

Comments
 (0)