From 9a44d4b88f9a1f23febb21243de76c04b92dd901 Mon Sep 17 00:00:00 2001
From: Robert Schmidt <robert.schmidt@openairinterface.org>
Date: Mon, 26 Feb 2024 12:53:45 +0100
Subject: [PATCH] Increase default UL max MCS to 28

The original UL max MCS of 9 was chosen for performance reasons. In the
meantime, machines became faster, and the ULSCH decoding faster. Improve
UL max MCS to be 28 by default to use the complete range of possible
MCS.
---
 ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf      | 1 -
 ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf       | 1 -
 ci-scripts/yaml_files/sa_f1_b200_gnb/docker-compose.yml         | 2 +-
 openair2/GNB_APP/MACRLC_nr_paramdef.h                           | 2 +-
 .../GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf     | 1 -
 .../GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf  | 1 -
 .../CONF/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf               | 1 -
 .../CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf             | 1 -
 .../GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf  | 1 -
 .../CONF/gnb.sa.band78.273prb.fhi72.4x2-benetel650.conf         | 1 -
 .../CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf             | 1 -
 .../GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf  | 1 -
 .../CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf             | 1 -
 13 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
index 0a2930aade..1ca3888691 100644
--- a/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
+++ b/ci-scripts/conf_files/gnb.sa.band78.106prb.n310.7ds2u.conf
@@ -198,7 +198,6 @@ MACRLCs = (
   pusch_TargetSNRx10 = 180;
   pucch_TargetSNRx10 = 200;
   ulsch_max_frame_inactivity = 1;
-  ul_max_mcs = 16;
 }
 );
 
diff --git a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
index 802d2b2290..2103379979 100644
--- a/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
+++ b/ci-scripts/conf_files/gnb.sa.band78.51prb.aw2s.ddsuu.conf
@@ -193,7 +193,6 @@ MACRLCs = (
     pusch_TargetSNRx10 = 200;
     pucch_TargetSNRx10 = 200;
     ulsch_max_frame_inactivity = 10;
-    ul_max_mcs         = 28;
   }
 );
 
diff --git a/ci-scripts/yaml_files/sa_f1_b200_gnb/docker-compose.yml b/ci-scripts/yaml_files/sa_f1_b200_gnb/docker-compose.yml
index 072461af5c..aae28fe016 100644
--- a/ci-scripts/yaml_files/sa_f1_b200_gnb/docker-compose.yml
+++ b/ci-scripts/yaml_files/sa_f1_b200_gnb/docker-compose.yml
@@ -26,7 +26,7 @@ services:
         container_name: sa-du-b200-gnb
         environment:
             USE_B2XX: 'yes'
-            USE_ADDITIONAL_OPTIONS: --sa --RUs.[0].sdr_addrs serial=30C51D4 --telnetsrv --telnetsrv.shrmod ci --log_config.global_log_options level,nocolor,time,line_num,function --gNBs.[0].min_rxtxtime 2 --gNBs.[0].do_CSIRS 1 --gNBs.[0].do_SRS 0 --MACRLCs.[0].ul_max_mcs 28 --L1s.[0].max_ldpc_iterations 20
+            USE_ADDITIONAL_OPTIONS: --sa --RUs.[0].sdr_addrs serial=30C51D4 --telnetsrv --telnetsrv.shrmod ci --log_config.global_log_options level,nocolor,time,line_num,function --gNBs.[0].min_rxtxtime 2 --gNBs.[0].do_CSIRS 1 --gNBs.[0].do_SRS 0 --L1s.[0].max_ldpc_iterations 20
         volumes:
             - ../../conf_files/gnb-du.sa.band1.52prb.usrpb210.conf:/opt/oai-gnb/etc/gnb.conf
             - /dev:/dev
diff --git a/openair2/GNB_APP/MACRLC_nr_paramdef.h b/openair2/GNB_APP/MACRLC_nr_paramdef.h
index 5d8dbf9239..f33cbf5327 100644
--- a/openair2/GNB_APP/MACRLC_nr_paramdef.h
+++ b/openair2/GNB_APP/MACRLC_nr_paramdef.h
@@ -119,7 +119,7 @@
   {CONFIG_STRING_MACRLC_DL_MAX_MCS,                  HLP_MACRLC_DL_MAX_MCS,    0, .u8ptr=NULL,  .defintval=28,              TYPE_UINT8,   0}, \
   {CONFIG_STRING_MACRLC_UL_BLER_TARGET_UPPER,        HLP_MACRLC_UL_BLER_UP,    0, .dblptr=NULL, .defdblval=0.15,            TYPE_DOUBLE,  0}, \
   {CONFIG_STRING_MACRLC_UL_BLER_TARGET_LOWER,        HLP_MACRLC_UL_BLER_LO,    0, .dblptr=NULL, .defdblval=0.05,            TYPE_DOUBLE,  0}, \
-  {CONFIG_STRING_MACRLC_UL_MAX_MCS,                  HLP_MACRLC_UL_MAX_MCS,    0, .u8ptr=NULL,  .defintval=9,               TYPE_UINT8,   0}, \
+  {CONFIG_STRING_MACRLC_UL_MAX_MCS,                  HLP_MACRLC_UL_MAX_MCS,    0, .u8ptr=NULL,  .defintval=28,              TYPE_UINT8,   0}, \
   {CONFIG_STRING_MACRLC_DL_HARQ_ROUND_MAX,           HLP_MACRLC_DL_HARQ_MAX,   0, .u8ptr=NULL,  .defintval=4,               TYPE_UINT8,   0}, \
   {CONFIG_STRING_MACRLC_UL_HARQ_ROUND_MAX,           HLP_MACRLC_UL_HARQ_MAX,   0, .u8ptr=NULL,  .defintval=4,               TYPE_UINT8,   0}, \
   {CONFIG_STRING_MACRLC_MIN_GRANT_PRB,               HLP_MACRLC_MIN_GRANT_PRB, 0, .u8ptr=NULL,  .defintval=5,               TYPE_UINT8,   0}, \
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf
index c025ea498d..bf3aa8185c 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band1.u0.52PRB.usrpb210.conf
@@ -184,7 +184,6 @@ MACRLCs = (
   tr_n_preference             = "local_RRC";
   pusch_TargetSNRx10          = 200;
   pucch_TargetSNRx10          = 200;
-  ul_max_mcs                  = 28;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
index 3ecd542a9c..3489a440fa 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
@@ -186,7 +186,6 @@ MACRLCs = (
   pusch_TargetSNRx10          = 150;
   pucch_TargetSNRx10          = 200;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 10;
   min_grant_prb               = 20;
   min_grant_mcs               = 16;
   dl_max_mcs                  = 10;
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf
index b06e7e9267..099cd4c36e 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf
@@ -202,7 +202,6 @@ MACRLCs = (
   ul_bler_target_lower=.15;
   pusch_FailureThres          = 100;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 25;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
index ab6c5b7ffb..70a12f6c8e 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf
@@ -191,7 +191,6 @@ MACRLCs = (
   pucch_TargetSNRx10          = 200;
   pusch_FailureThres          = 1000;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 28;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
index 70bab1c6f7..3f5e125918 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.usrpx300.conf
@@ -191,7 +191,6 @@ MACRLCs = (
   pucch_TargetSNRx10          = 200;
   pusch_FailureThres          = 1000;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 28;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x2-benetel650.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x2-benetel650.conf
index 448a582749..30bd438e4b 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x2-benetel650.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x2-benetel650.conf
@@ -200,7 +200,6 @@ MACRLCs = (
   ul_bler_target_upper=.35;
   ul_bler_target_lower=.15;
   pusch_FailureThres          = 100;
-  ul_max_mcs                  = 28;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
index 463b180b73..8fac94bfef 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.273prb.fhi72.4x4-liteon.conf
@@ -201,7 +201,6 @@ MACRLCs = (
   ul_bler_target_lower=.15;
   pusch_FailureThres          = 100;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 25;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
index 665771288b..86291dc9be 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
@@ -187,7 +187,6 @@ MACRLCs = (
   pusch_TargetSNRx10          = 150;
   pucch_TargetSNRx10          = 200;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 28;
 }
 );
 
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
index 0ed70dea8b..4bbd9033df 100644
--- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
+++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
@@ -191,7 +191,6 @@ MACRLCs = (
   pucch_TargetSNRx10          = 200;
   pusch_FailureThres          = 1000;
   ulsch_max_frame_inactivity  = 0;
-  ul_max_mcs                  = 28;
 }
 );
 
-- 
2.26.2