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:
gauthier
2016-03-23 21:15:49 +01:00
parent 26f5d0d93d
commit f79b0e7d9b
7 changed files with 18 additions and 7 deletions
+1
View File
@@ -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;
+9
View File
@@ -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);
+2
View File
@@ -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",