Improved stability and eNB goodput of remote scheduling
This commit is contained in:
@@ -153,8 +153,8 @@ void remove_harq_pid_from_freelist(LTE_eNB_DLSCH_t *DLSCH_ptr, int harq_pid)
|
|||||||
* to be refined in case things don't work properly
|
* to be refined in case things don't work properly
|
||||||
*/
|
*/
|
||||||
if (harq_pid != DLSCH_ptr->harq_pid_freelist[DLSCH_ptr->head_freelist]) {
|
if (harq_pid != DLSCH_ptr->harq_pid_freelist[DLSCH_ptr->head_freelist]) {
|
||||||
//LOG_E(PHY, "%s:%d: critical error, get in touch with the authors\n", __FILE__, __LINE__);
|
LOG_E(PHY, "%s:%d: critical error, get in touch with the authors\n", __FILE__, __LINE__);
|
||||||
//abort();
|
abort();
|
||||||
}
|
}
|
||||||
DLSCH_ptr->head_freelist = (DLSCH_ptr->head_freelist + 1) % 10;
|
DLSCH_ptr->head_freelist = (DLSCH_ptr->head_freelist + 1) % 10;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -981,10 +981,10 @@ int enb_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__Progran
|
|||||||
dl_info[i]->harq_status = malloc(sizeof(uint32_t) * dl_info[i]->n_harq_status);
|
dl_info[i]->harq_status = malloc(sizeof(uint32_t) * dl_info[i]->n_harq_status);
|
||||||
for (j = 0; j < dl_info[i]->n_harq_status; j++) {
|
for (j = 0; j < dl_info[i]->n_harq_status; j++) {
|
||||||
// TODO: This should be different per TB
|
// TODO: This should be different per TB
|
||||||
if(harq_status == 0)
|
if(harq_status == 0)
|
||||||
dl_info[i]->harq_status[j] = PROTOCOL__PRP_HARQ_STATUS__PRHS_NACK;
|
dl_info[i]->harq_status[j] = PROTOCOL__PRP_HARQ_STATUS__PRHS_ACK;
|
||||||
else if (harq_status == 1)
|
else if (harq_status == 1)
|
||||||
dl_info[i]->harq_status[j] = PROTOCOL__PRP_HARQ_STATUS__PRHS_ACK;
|
dl_info[i]->harq_status[j] = PROTOCOL__PRP_HARQ_STATUS__PRHS_NACK;
|
||||||
}
|
}
|
||||||
/*TODO: fill in the serving cell index for this UE */
|
/*TODO: fill in the serving cell index for this UE */
|
||||||
dl_info[i]->serv_cell_index = UE_PCCID(mod_id,i);
|
dl_info[i]->serv_cell_index = UE_PCCID(mod_id,i);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ void schedule_ue_spec_remote(mid_t mod_id, uint32_t frame, uint32_t subframe,
|
|||||||
TAILQ_INIT(&queue_head);
|
TAILQ_INIT(&queue_head);
|
||||||
queue_initialized = 1;
|
queue_initialized = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
dl_mac_config_element_t *dl_config_elem;
|
dl_mac_config_element_t *dl_config_elem;
|
||||||
|
|
||||||
int diff;
|
int diff;
|
||||||
|
|||||||
Reference in New Issue
Block a user