perpetual scheduling turned on / extra logging in CCE allocation
This commit is contained in:
@@ -997,7 +997,7 @@ int allocate_CCEs(int module_idP,
|
|||||||
DCI_PDU *DCI_pdu = &eNB_mac_inst[module_idP].common_channels[CC_idP].DCI_pdu;
|
DCI_PDU *DCI_pdu = &eNB_mac_inst[module_idP].common_channels[CC_idP].DCI_pdu;
|
||||||
int nCCE_max = mac_xface->get_nCCE_max(module_idP,CC_idP,DCI_pdu->num_pdcch_symbols,subframeP);
|
int nCCE_max = mac_xface->get_nCCE_max(module_idP,CC_idP,DCI_pdu->num_pdcch_symbols,subframeP);
|
||||||
int fCCE;
|
int fCCE;
|
||||||
int i;
|
int i,j;
|
||||||
int allocation_is_feasible = 1;
|
int allocation_is_feasible = 1;
|
||||||
DCI_ALLOC_t *dci_alloc;
|
DCI_ALLOC_t *dci_alloc;
|
||||||
|
|
||||||
@@ -1046,7 +1046,15 @@ int allocate_CCEs(int module_idP,
|
|||||||
allocation_is_feasible = 0;
|
allocation_is_feasible = 0;
|
||||||
LOG_I(MAC,"subframe %d: Dropping Allocation for RNTI %x\n",
|
LOG_I(MAC,"subframe %d: Dropping Allocation for RNTI %x\n",
|
||||||
subframeP,dci_alloc->rnti);
|
subframeP,dci_alloc->rnti);
|
||||||
|
for (j=0;j<=i;j++){
|
||||||
|
|
||||||
|
LOG_I(MAC,"DCI %d/%d (%d,%d) : rnti %x dci format %d, aggreg %d nCCE %d / %d (num_pdcch_symbols %d)\n",
|
||||||
|
i,DCI_pdu->Num_common_dci+DCI_pdu->Num_ue_spec_dci,
|
||||||
|
DCI_pdu->Num_common_dci,DCI_pdu->Num_ue_spec_dci,
|
||||||
|
DCI_pdu->dci_alloc[j].rnti,DCI_pdu->dci_alloc[j].format,
|
||||||
|
1<<DCI_pdu->dci_alloc[j].L,
|
||||||
|
DCI_pdu->nCCE,nCCE_max,DCI_pdu->num_pdcch_symbols);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DCI_pdu->num_pdcch_symbols++;
|
DCI_pdu->num_pdcch_symbols++;
|
||||||
|
|||||||
@@ -760,7 +760,7 @@ void schedule_ulsch_rnti(module_id_t module_idP,
|
|||||||
LOG_T(MAC,"[eNB %d] Frame %d, subframeP %d, UE %d CC %d : got harq pid %d round %d (rnti %x,mode %s)\n",
|
LOG_T(MAC,"[eNB %d] Frame %d, subframeP %d, UE %d CC %d : got harq pid %d round %d (rnti %x,mode %s)\n",
|
||||||
module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,rnti,mode_string[eNB_UE_stats->mode]);
|
module_idP,frameP,subframeP,UE_id,CC_id, harq_pid, round,rnti,mode_string[eNB_UE_stats->mode]);
|
||||||
|
|
||||||
#undef EXMIMO_IOT
|
//#undef EXMIMO_IOT
|
||||||
#ifndef EXMIMO_IOT
|
#ifndef EXMIMO_IOT
|
||||||
|
|
||||||
if (((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0))
|
if (((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0))
|
||||||
|
|||||||
@@ -3700,7 +3700,8 @@ rrc_eNB_decode_ccch(
|
|||||||
* the current one must be removed from MAC/PHY (zombie UE)
|
* the current one must be removed from MAC/PHY (zombie UE)
|
||||||
*/
|
*/
|
||||||
if ((ue_context_p = rrc_eNB_ue_context_random_exist(ctxt_pP, random_value))) {
|
if ((ue_context_p = rrc_eNB_ue_context_random_exist(ctxt_pP, random_value))) {
|
||||||
AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
|
#warning "TODO: random_exist: remove UE from MAC/PHY (how?)"
|
||||||
|
// AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
|
||||||
ue_context_p = NULL;
|
ue_context_p = NULL;
|
||||||
} else {
|
} else {
|
||||||
ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, random_value);
|
ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, random_value);
|
||||||
@@ -3712,7 +3713,8 @@ rrc_eNB_decode_ccch(
|
|||||||
m_tmsi_t m_tmsi = BIT_STRING_to_uint32(&s_TMSI.m_TMSI);
|
m_tmsi_t m_tmsi = BIT_STRING_to_uint32(&s_TMSI.m_TMSI);
|
||||||
random_value = (((uint64_t)mme_code) << 32) | m_tmsi;
|
random_value = (((uint64_t)mme_code) << 32) | m_tmsi;
|
||||||
if ((ue_context_p = rrc_eNB_ue_context_stmsi_exist(ctxt_pP, mme_code, m_tmsi))) {
|
if ((ue_context_p = rrc_eNB_ue_context_stmsi_exist(ctxt_pP, mme_code, m_tmsi))) {
|
||||||
AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
|
#warning "TODO: stmsi_exist: remove UE from MAC/PHY (how?)"
|
||||||
|
// AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
|
||||||
ue_context_p = NULL;
|
ue_context_p = NULL;
|
||||||
} else {
|
} else {
|
||||||
ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, NOT_A_RANDOM_UE_IDENTITY);
|
ue_context_p = rrc_eNB_get_next_free_ue_context(ctxt_pP, NOT_A_RANDOM_UE_IDENTITY);
|
||||||
|
|||||||
Reference in New Issue
Block a user