Skip to content

Commit 9e32d74

Browse files
xavierarteagacodebot
authored andcommitted
gnb: adjust PUSCH concurrency levels to reduce memory usage
1 parent cdd5c3c commit 9e32d74

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

apps/gnb/gnb_appconfig_translators.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1269,8 +1269,15 @@ std::vector<upper_phy_config> srsran::generate_du_low_config(const gnb_appconfig
12691269
const prach_configuration prach_cfg =
12701270
prach_configuration_get(frequency_range::FR1, duplex, cell.prach_cfg.prach_config_index.value());
12711271

1272-
// Maximum number of HARQ processes for a PUSCH HARQ process.
1273-
static constexpr unsigned max_nof_pusch_harq = 16;
1272+
// Maximum time that can take to decode a PUSCH transmission in slots.
1273+
static constexpr unsigned max_nof_pusch_harq = 8;
1274+
1275+
// Maximum concurrent PUSCH processing. If there are no dedicated threads for PUSCH decoding, set the maximum
1276+
// concurrency to one.
1277+
unsigned max_pusch_concurrency = config.common_cell_cfg.pusch_cfg.max_puschs_per_slot * max_nof_pusch_harq;
1278+
if (config.expert_execution_cfg.threads.upper_threads.nof_pusch_decoder_threads == 0) {
1279+
max_pusch_concurrency = 1;
1280+
}
12741281

12751282
cfg.log_level = srslog::str_to_basic_level(config.log_cfg.phy_level);
12761283
cfg.enable_logging_broadcast = config.log_cfg.broadcast_enabled;
@@ -1286,7 +1293,7 @@ std::vector<upper_phy_config> srsran::generate_du_low_config(const gnb_appconfig
12861293
cfg.nof_slots_ul_rg = ul_pipeline_depth;
12871294
cfg.nof_ul_processors = ul_pipeline_depth;
12881295
cfg.max_ul_thread_concurrency = config.expert_execution_cfg.threads.upper_threads.nof_ul_threads + 1;
1289-
cfg.max_pusch_concurrency = MAX_UE_PDUS_PER_SLOT * max_nof_pusch_harq;
1296+
cfg.max_pusch_concurrency = max_pusch_concurrency;
12901297
cfg.nof_pusch_decoder_threads = config.expert_execution_cfg.threads.upper_threads.nof_pusch_decoder_threads +
12911298
config.expert_execution_cfg.threads.upper_threads.nof_ul_threads;
12921299
cfg.nof_prach_buffer = prach_pipeline_depth * nof_slots_per_subframe;

0 commit comments

Comments
 (0)