From 740bec4ac0dcea02f67fe206176094ae5f98c97f Mon Sep 17 00:00:00 2001 From: vijay chadachan Date: Mon, 18 Mar 2024 12:51:02 +0100 Subject: [PATCH] Fix max_sched_ues in DL/UL Scheduler to match MAX_DCI_CORESET - Added the limit as MAX_DCI_CORESET for max_sched_ues in DL/UL scheduler. This is needed because gNB crashes when tested with 100MHz cell as the scheduler tries to schedule 11 UEs in a slot and the DCI informaiton is corrupted due to the limitation in NFAPI interface because of MAX_DCI_CORESET size. --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c | 3 +++ openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c index caef6d8822..20e8a6d624 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c @@ -875,6 +875,9 @@ static void nr_fr1_dlsch_preprocessor(module_id_t module_id, frame_t frame, sub_ int average_agg_level = 4; // TODO find a better estimation int max_sched_ues = bw / (average_agg_level * NR_NB_REG_PER_CCE); + // FAPI cannot handle more than MAX_DCI_CORESET DCIs + max_sched_ues = min(max_sched_ues, MAX_DCI_CORESET); + /* proportional fair scheduling algorithm */ pf_dl(module_id, frame, diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 1aee6f613e..beb31fca8e 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -2028,6 +2028,9 @@ static bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_ int average_agg_level = 4; // TODO find a better estimation int max_sched_ues = bw / (average_agg_level * NR_NB_REG_PER_CCE); + // FAPI cannot handle more than MAX_DCI_CORESET DCIs + max_sched_ues = min(max_sched_ues, MAX_DCI_CORESET); + /* proportional fair scheduling algorithm */ pf_ul(module_id, frame,