more logging for CSABA
This commit is contained in:
@@ -3416,6 +3416,15 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
|
|||||||
phy_vars_eNB->eNB_UE_stats[i].ulsch_errors[harq_pid]++;
|
phy_vars_eNB->eNB_UE_stats[i].ulsch_errors[harq_pid]++;
|
||||||
phy_vars_eNB->eNB_UE_stats[i].ulsch_consecutive_errors++;
|
phy_vars_eNB->eNB_UE_stats[i].ulsch_consecutive_errors++;
|
||||||
//dump_ulsch(phy_vars_eNB, sched_subframe, i);
|
//dump_ulsch(phy_vars_eNB, sched_subframe, i);
|
||||||
|
// indicate error to MAC
|
||||||
|
mac_xface->rx_sdu(phy_vars_eNB->Mod_id,
|
||||||
|
phy_vars_eNB->CC_id,
|
||||||
|
frame,subframe,
|
||||||
|
phy_vars_eNB->ulsch_eNB[i]->rnti,
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
harq_pid,
|
||||||
|
&phy_vars_eNB->ulsch_eNB[i]->Msg3_flag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // ulsch in error
|
} // ulsch in error
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
|||||||
mac_xface->get_eNB_UE_stats(module_idP, CC_id, rnti));
|
mac_xface->get_eNB_UE_stats(module_idP, CC_id, rnti));
|
||||||
next_i= UE_list->next[i];
|
next_i= UE_list->next[i];
|
||||||
|
|
||||||
|
PHY_vars_eNB_g[module_idP][CC_id]->pusch_stats_bsr[i][(frameP*10)+subframeP]=-63;
|
||||||
// increment this, it is cleared when we receive an sdu
|
// increment this, it is cleared when we receive an sdu
|
||||||
eNB_mac_inst[module_idP].UE_list.UE_sched_ctrl[i].ul_inactivity_timer++;
|
eNB_mac_inst[module_idP].UE_list.UE_sched_ctrl[i].ul_inactivity_timer++;
|
||||||
|
|
||||||
|
|||||||
@@ -706,8 +706,8 @@ uint8_t UE_is_to_be_scheduled(module_id_t module_idP,int CC_id,uint8_t UE_id)
|
|||||||
(UE_template->bsr_info[LCGID1]>0) ||
|
(UE_template->bsr_info[LCGID1]>0) ||
|
||||||
(UE_template->bsr_info[LCGID2]>0) ||
|
(UE_template->bsr_info[LCGID2]>0) ||
|
||||||
(UE_template->bsr_info[LCGID3]>0) ||
|
(UE_template->bsr_info[LCGID3]>0) ||
|
||||||
(UE_template->ul_SR>0) ||
|
(UE_template->ul_SR>0) || // uplink scheduling request
|
||||||
((UE_sched_ctl->ul_inactivity_timer>100)&&(UE_sched_ctl->ul_scheduled>0))) { // uplink scheduling request
|
((UE_sched_ctl->ul_inactivity_timer>100)&&(UE_sched_ctl->ul_scheduled!=0xFF))) {
|
||||||
|
|
||||||
LOG_D(MAC,"[eNB %d][PUSCH] UE %d/%x should be scheduled\n",module_idP,UE_id,UE_RNTI(module_idP,UE_id));
|
LOG_D(MAC,"[eNB %d][PUSCH] UE %d/%x should be scheduled\n",module_idP,UE_id,UE_RNTI(module_idP,UE_id));
|
||||||
return(1);
|
return(1);
|
||||||
|
|||||||
@@ -107,6 +107,11 @@ void rx_sdu(
|
|||||||
|
|
||||||
LOG_D(MAC,"[eNB %d] CC_id %d Received ULSCH sdu from PHY (rnti %x, UE_id %d), parsing header\n",enb_mod_idP,CC_idP,rntiP,UE_id);
|
LOG_D(MAC,"[eNB %d] CC_id %d Received ULSCH sdu from PHY (rnti %x, UE_id %d), parsing header\n",enb_mod_idP,CC_idP,rntiP,UE_id);
|
||||||
|
|
||||||
|
if (sduP==NULL) { // we've got an error after N rounds
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].ul_scheduled &= (~(1<<harq_pidP));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (UE_id!=-1) {
|
if (UE_id!=-1) {
|
||||||
UE_list->UE_sched_ctrl[UE_id].ul_inactivity_timer=0;
|
UE_list->UE_sched_ctrl[UE_id].ul_inactivity_timer=0;
|
||||||
UE_list->UE_sched_ctrl[UE_id].ul_failure_timer =0;
|
UE_list->UE_sched_ctrl[UE_id].ul_failure_timer =0;
|
||||||
@@ -117,8 +122,12 @@ void rx_sdu(
|
|||||||
mac_eNB_rrc_ul_in_sync(enb_mod_idP,CC_idP,frameP,subframeP,UE_RNTI(enb_mod_idP,UE_id));
|
mac_eNB_rrc_ul_in_sync(enb_mod_idP,CC_idP,frameP,subframeP,UE_RNTI(enb_mod_idP,UE_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
payload_ptr = parse_ulsch_header(sduP,&num_ce,&num_sdu,rx_ces,rx_lcids,rx_lengths,sdu_lenP);
|
payload_ptr = parse_ulsch_header(sduP,&num_ce,&num_sdu,rx_ces,rx_lcids,rx_lengths,sdu_lenP);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
eNB->eNB_stats[CC_idP].ulsch_bytes_rx=sdu_lenP;
|
eNB->eNB_stats[CC_idP].ulsch_bytes_rx=sdu_lenP;
|
||||||
eNB->eNB_stats[CC_idP].total_ulsch_bytes_rx+=sdu_lenP;
|
eNB->eNB_stats[CC_idP].total_ulsch_bytes_rx+=sdu_lenP;
|
||||||
eNB->eNB_stats[CC_idP].total_ulsch_pdus_rx+=1;
|
eNB->eNB_stats[CC_idP].total_ulsch_pdus_rx+=1;
|
||||||
@@ -195,10 +204,10 @@ void rx_sdu(
|
|||||||
if (UE_list->UE_template[CC_idP][UE_id].ul_buffer_creation_time[lcgid] == 0 ) {
|
if (UE_list->UE_template[CC_idP][UE_id].ul_buffer_creation_time[lcgid] == 0 ) {
|
||||||
UE_list->UE_template[CC_idP][UE_id].ul_buffer_creation_time[lcgid]=frameP;
|
UE_list->UE_template[CC_idP][UE_id].ul_buffer_creation_time[lcgid]=frameP;
|
||||||
}
|
}
|
||||||
|
if (mac_eNB_get_rrc_status(enb_mod_idP,UE_RNTI(enb_mod_idP,UE_id)) < RRC_CONNECTED)
|
||||||
LOG_I(MAC, "[eNB %d] CC_id %d MAC CE_LCID %d : ul_total_buffer = %d (lcg increment %d)\n",
|
LOG_I(MAC, "[eNB %d] CC_id %d MAC CE_LCID %d : ul_total_buffer = %d (lcg increment %d)\n",
|
||||||
enb_mod_idP, CC_idP, rx_ces[i], UE_list->UE_template[CC_idP][UE_id].ul_total_buffer,
|
enb_mod_idP, CC_idP, rx_ces[i], UE_list->UE_template[CC_idP][UE_id].ul_total_buffer,
|
||||||
UE_list->UE_template[CC_idP][UE_id].ul_buffer_info[lcgid]);
|
UE_list->UE_template[CC_idP][UE_id].ul_buffer_info[lcgid]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user