Lower scheduler PF averaging constant
This time constant plays a major role in how long a UE has to wait maximally before it might be scheduled. For instance, if a UE had a lot of traffic, the average traffic will be high, pushing the PF coefficient down. If another UE with no traffic in the past becomes active with heavy traffic, the first UE might not be scheduled for an extended period of time. In the AW2S-Amarisoft UE CI test pipeline, we sometimes see that the maximum number of RLC retransmissions was reached. While this might not be the (only) cause, scheduling a UE more often might prevent such situations, and we saw an improved stability.
This commit is contained in:
@@ -614,7 +614,7 @@ static void pf_dl(module_id_t module_id,
|
|||||||
/* get the PID of a HARQ process awaiting retrnasmission, or -1 otherwise */
|
/* get the PID of a HARQ process awaiting retrnasmission, or -1 otherwise */
|
||||||
sched_pdsch->dl_harq_pid = sched_ctrl->retrans_dl_harq.head;
|
sched_pdsch->dl_harq_pid = sched_ctrl->retrans_dl_harq.head;
|
||||||
/* Calculate Throughput */
|
/* Calculate Throughput */
|
||||||
const float a = 0.0005f; // corresponds to 200ms window
|
const float a = 0.01f;
|
||||||
const uint32_t b = UE->mac_stats.dl.current_bytes;
|
const uint32_t b = UE->mac_stats.dl.current_bytes;
|
||||||
UE->dl_thr_ue = (1 - a) * UE->dl_thr_ue + a * b;
|
UE->dl_thr_ue = (1 - a) * UE->dl_thr_ue + a * b;
|
||||||
|
|
||||||
|
|||||||
@@ -1646,7 +1646,7 @@ static void pf_ul(module_id_t module_id,
|
|||||||
const NR_mac_dir_stats_t *stats = &UE->mac_stats.ul;
|
const NR_mac_dir_stats_t *stats = &UE->mac_stats.ul;
|
||||||
|
|
||||||
/* Calculate throughput */
|
/* Calculate throughput */
|
||||||
const float a = 0.0005f; // corresponds to 200ms window
|
const float a = 0.01f;
|
||||||
const uint32_t b = stats->current_bytes;
|
const uint32_t b = stats->current_bytes;
|
||||||
UE->ul_thr_ue = (1 - a) * UE->ul_thr_ue + a * b;
|
UE->ul_thr_ue = (1 - a) * UE->ul_thr_ue + a * b;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user