diff options
-rw-r--r-- | doc/manuals/vty/osmo-pcu_vty_reference.xml | 12 | ||||
-rw-r--r-- | src/bts.h | 11 | ||||
-rw-r--r-- | src/pcu_vty.c | 8 |
3 files changed, 17 insertions, 14 deletions
diff --git a/doc/manuals/vty/osmo-pcu_vty_reference.xml b/doc/manuals/vty/osmo-pcu_vty_reference.xml index eed4d832..da6c76c9 100644 --- a/doc/manuals/vty/osmo-pcu_vty_reference.xml +++ b/doc/manuals/vty/osmo-pcu_vty_reference.xml @@ -1536,7 +1536,7 @@ <command id='cs threshold <0-100> <0-100>'> <params> <param name='cs' doc='Coding Scheme configuration' /> - <param name='threshold' doc='set thresholds for error rate based CS adjustment' /> + <param name='threshold' doc='set thresholds for error rate based downlink (M)CS adjustment' /> <param name='<0-100>' doc='lower limit in %' /> <param name='<0-100>' doc='upper limit in %' /> </params> @@ -1545,13 +1545,13 @@ <params> <param name='no' doc='Negate a command or set its defaults' /> <param name='cs' doc='Coding Scheme configuration' /> - <param name='threshold' doc='set thresholds for error rate based CS adjustment' /> + <param name='threshold' doc='set thresholds for error rate based downlink (M)CS adjustment' /> </params> </command> <command id='cs downgrade-threshold <1-10000>'> <params> <param name='cs' doc='Coding Scheme configuration' /> - <param name='downgrade-threshold' doc='set threshold for data size based CS downgrade' /> + <param name='downgrade-threshold' doc='set threshold for data size based downlink (M)CS downgrade' /> <param name='<1-10000>' doc='downgrade if less octets left' /> </params> </command> @@ -1559,13 +1559,13 @@ <params> <param name='no' doc='Negate a command or set its defaults' /> <param name='cs' doc='Coding Scheme configuration' /> - <param name='downgrade-threshold' doc='set threshold for data size based CS downgrade' /> + <param name='downgrade-threshold' doc='set threshold for data size based downlink (M)CS downgrade' /> </params> </command> <command id='cs link-quality-ranges cs1 <0-35> cs2 <0-35> <0-35> cs3 <0-35> <0-35> cs4 <0-35>'> <params> <param name='cs' doc='Coding Scheme configuration' /> - <param name='link-quality-ranges' doc='Set link quality ranges' /> + <param name='link-quality-ranges' doc='Set link quality ranges for each uplink CS' /> <param name='cs1' doc='Set quality range for CS-1 (high value only)' /> <param name='<0-35>' doc='CS-1 high (dB)' /> <param name='cs2' doc='Set quality range for CS-2' /> @@ -1581,7 +1581,7 @@ <command id='mcs link-quality-ranges mcs1 <0-35> mcs2 <0-35> <0-35> mcs3 <0-35> <0-35> mcs4 <0-35> <0-35> mcs5 <0-35> <0-35> mcs6 <0-35> <0-35> mcs7 <0-35> <0-35> mcs8 <0-35> <0-35> mcs9 <0-35>'> <params> <param name='mcs' doc='Coding Scheme configuration' /> - <param name='link-quality-ranges' doc='Set link quality ranges' /> + <param name='link-quality-ranges' doc='Set link quality ranges for each uplink MCS' /> <param name='mcs1' doc='Set quality range for MCS-1 (high value only)' /> <param name='<0-35>' doc='MCS-1 high (dB)' /> <param name='mcs2' doc='Set quality range for MCS-2' /> @@ -142,12 +142,15 @@ struct gprs_rlcmac_bts { /* 0 to support resegmentation in DL, 1 for no reseg */ uint8_t dl_arq_type; - uint8_t cs_adj_enabled; - uint8_t cs_adj_upper_limit; - uint8_t cs_adj_lower_limit; + uint8_t cs_adj_enabled; /* whether cs_adj_{upper,lower}_limit are used to adjust DL CS */ + uint8_t cs_adj_upper_limit; /* downgrade DL CS if error rate above its value */ + uint8_t cs_adj_lower_limit; /* upgrade DL CS if error rate below its value */ + /* downgrade DL CS when less than specified octets are left in tx queue. Optimization, see paper: + "Theoretical Analysis of GPRS Throughput and Delay" */ + uint16_t cs_downgrade_threshold; + /* Link quality range for each UL (M)CS. Below or above, next/prev (M)CS is selected. */ struct {int16_t low; int16_t high; } cs_lqual_ranges[MAX_GPRS_CS]; struct {int16_t low; int16_t high; } mcs_lqual_ranges[MAX_EDGE_MCS]; - uint16_t cs_downgrade_threshold; /* downgrade if less packets left (DL) */ uint16_t ws_base; uint16_t ws_pdch; /* increase WS by this value per PDCH */ diff --git a/src/pcu_vty.c b/src/pcu_vty.c index 996ce61c..2fd57d09 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -938,7 +938,7 @@ DEFUN_DEPRECATED(cfg_pcu_no_ms_idle_time, return CMD_SUCCESS; } -#define CS_ERR_LIMITS_STR "set thresholds for error rate based CS adjustment\n" +#define CS_ERR_LIMITS_STR "set thresholds for error rate based downlink (M)CS adjustment\n" DEFUN(cfg_pcu_cs_err_limits, cfg_pcu_cs_err_limits_cmd, "cs threshold <0-100> <0-100>", @@ -977,7 +977,7 @@ DEFUN(cfg_pcu_no_cs_err_limits, return CMD_SUCCESS; } -#define CS_DOWNGRADE_STR "set threshold for data size based CS downgrade\n" +#define CS_DOWNGRADE_STR "set threshold for data size based downlink (M)CS downgrade\n" DEFUN(cfg_pcu_cs_downgrade_thrsh, cfg_pcu_cs_downgrade_thrsh_cmd, "cs downgrade-threshold <1-10000>", @@ -1006,7 +1006,7 @@ DEFUN(cfg_pcu_no_cs_downgrade_thrsh, DEFUN(cfg_pcu_cs_lqual_ranges, cfg_pcu_cs_lqual_ranges_cmd, "cs link-quality-ranges cs1 <0-35> cs2 <0-35> <0-35> cs3 <0-35> <0-35> cs4 <0-35>", - CS_STR "Set link quality ranges\n" + CS_STR "Set link quality ranges for each uplink CS\n" "Set quality range for CS-1 (high value only)\n" "CS-1 high (dB)\n" "Set quality range for CS-2\n" @@ -1040,7 +1040,7 @@ DEFUN(cfg_pcu_cs_lqual_ranges, DEFUN(cfg_pcu_mcs_lqual_ranges, cfg_pcu_mcs_lqual_ranges_cmd, "mcs link-quality-ranges mcs1 <0-35> mcs2 <0-35> <0-35> mcs3 <0-35> <0-35> mcs4 <0-35> <0-35> mcs5 <0-35> <0-35> mcs6 <0-35> <0-35> mcs7 <0-35> <0-35> mcs8 <0-35> <0-35> mcs9 <0-35>", - CS_STR "Set link quality ranges\n" + CS_STR "Set link quality ranges for each uplink MCS\n" "Set quality range for MCS-1 (high value only)\n" "MCS-1 high (dB)\n" "Set quality range for MCS-2\n" |