Add sched_ul_bytes/ulsch_current_bytes & Update in rx_sdu/schedule_ulsch
This commit is contained in:
committed by
Robert Schmidt
parent
4d0a2e4877
commit
c7ffd5740f
@@ -427,10 +427,21 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
|
|||||||
|
|
||||||
if (sduP != NULL){
|
if (sduP != NULL){
|
||||||
LOG_D(MAC, "Received PDU at MAC gNB \n");
|
LOG_D(MAC, "Received PDU at MAC gNB \n");
|
||||||
|
|
||||||
|
UE_scheduling_control->sched_ul_bytes -= UE_info->mac_stats[UE_id].ulsch_current_bytes;
|
||||||
|
if (UE_scheduling_control->sched_ul_bytes < 0)
|
||||||
|
UE_scheduling_control->sched_ul_bytes = 0;
|
||||||
|
|
||||||
nr_process_mac_pdu(gnb_mod_idP, current_rnti, CC_idP, frameP, sduP, sdu_lenP);
|
nr_process_mac_pdu(gnb_mod_idP, current_rnti, CC_idP, frameP, sduP, sdu_lenP);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
NR_UE_ul_harq_t *cur_harq = &UE_scheduling_control->ul_harq_processes[harq_pid];
|
||||||
|
/* reduce sched_ul_bytes when cur_harq->round == 3 */
|
||||||
|
if (cur_harq->round == 3){
|
||||||
|
UE_scheduling_control->sched_ul_bytes -= UE_info->mac_stats[UE_id].ulsch_current_bytes;
|
||||||
|
if (UE_scheduling_control->sched_ul_bytes < 0)
|
||||||
|
UE_scheduling_control->sched_ul_bytes = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!sduP) // check that CRC passed
|
if (!sduP) // check that CRC passed
|
||||||
@@ -692,6 +703,8 @@ void nr_schedule_ulsch(module_id_t module_id,
|
|||||||
cur_harq->round,
|
cur_harq->round,
|
||||||
cur_harq->ndi);
|
cur_harq->ndi);
|
||||||
}
|
}
|
||||||
|
UE_info->mac_stats[UE_id].ulsch_current_bytes = sched_pusch->tb_size;
|
||||||
|
sched_ctrl->sched_ul_bytes += sched_pusch->tb_size;
|
||||||
|
|
||||||
LOG_D(MAC,
|
LOG_D(MAC,
|
||||||
"%4d.%2d RNTI %04x UL sched %4d.%2d start %d RBS %d MCS %d TBS %d HARQ PID %d round %d NDI %d\n",
|
"%4d.%2d RNTI %04x UL sched %4d.%2d start %d RBS %d MCS %d TBS %d HARQ PID %d round %d NDI %d\n",
|
||||||
|
|||||||
@@ -425,6 +425,8 @@ typedef struct {
|
|||||||
uint16_t rbSize;
|
uint16_t rbSize;
|
||||||
uint16_t rbStart;
|
uint16_t rbStart;
|
||||||
|
|
||||||
|
/// uplink bytes that are currently scheduled
|
||||||
|
int sched_ul_bytes;
|
||||||
/// estimation of the UL buffer size
|
/// estimation of the UL buffer size
|
||||||
int estimated_ul_buffer;
|
int estimated_ul_buffer;
|
||||||
|
|
||||||
@@ -483,6 +485,7 @@ typedef struct {
|
|||||||
int ulsch_errors;
|
int ulsch_errors;
|
||||||
int ulsch_total_bytes_scheduled;
|
int ulsch_total_bytes_scheduled;
|
||||||
int ulsch_total_bytes_rx;
|
int ulsch_total_bytes_rx;
|
||||||
|
int ulsch_current_bytes;
|
||||||
} NR_mac_stats_t;
|
} NR_mac_stats_t;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user