added hotfix for DCCH bad size limitation (to be checked after merge with develop). Changed UL idle scheduling to improve 5MHz performance, changed DCI aggregation for ue-specific DCIs (reduces contention with SI and RA in subframe 5 for 5 MHz). Added RRC timer for UE release which cleans L1. Still issues in 10 MHz throughput with TCP. 5 MHz seems almost fine.
This commit is contained in:
@@ -358,6 +358,7 @@ typedef struct eNB_RRC_UE_s {
|
||||
rb_id_t enb_gtp_ebi[S1AP_MAX_E_RAB];
|
||||
#endif
|
||||
uint32_t ul_failure_timer;
|
||||
uint32_t ue_release_timer;
|
||||
} eNB_RRC_UE_t;
|
||||
|
||||
typedef uid_t ue_uid_t;
|
||||
|
||||
@@ -531,6 +531,15 @@ rrc_rx_tx(
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ue_context_p->ue_context.ue_release_timer>0) {
|
||||
ue_context_p->ue_context.ue_release_timer++;
|
||||
if (ue_context_p->ue_context.ue_release_timer >= 100) {
|
||||
// remove UE after 10 frames after RRCConnectionRelease is triggered
|
||||
LOG_I(RRC,"Removing UE %x instance\n",ue_context_p->ue_context.rnti);
|
||||
ue_to_be_removed = ue_context_p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ue_to_be_removed)
|
||||
rrc_eNB_free_UE(ctxt_pP->module_id,ue_to_be_removed);
|
||||
|
||||
@@ -1090,6 +1090,8 @@ rrc_eNB_generate_RRCConnectionRelease(
|
||||
memset(buffer, 0, RRC_BUF_SIZE);
|
||||
|
||||
size = do_RRCConnectionRelease(ctxt_pP->module_id, buffer,rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id));
|
||||
// set release timer
|
||||
ue_context_pP->ue_context.ue_release_timer=1;
|
||||
|
||||
LOG_I(RRC,
|
||||
PROTOCOL_RRC_CTXT_UE_FMT" Logical Channel DL-DCCH, Generate RRCConnectionRelease (bytes %d)\n",
|
||||
|
||||
Reference in New Issue
Block a user