git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5752 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -96,7 +96,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
|||||||
int result;
|
int result;
|
||||||
#endif
|
#endif
|
||||||
DCI_PDU *DCI_pdu[MAX_NUM_CCs];
|
DCI_PDU *DCI_pdu[MAX_NUM_CCs];
|
||||||
int CC_id,i;
|
int CC_id,i,next_i;
|
||||||
UE_list_t *UE_list=&eNB_mac_inst[module_idP].UE_list;
|
UE_list_t *UE_list=&eNB_mac_inst[module_idP].UE_list;
|
||||||
|
|
||||||
LOG_D(MAC,"[eNB %d] Frame %d, Subframe %d, entering MAC scheduler\n",module_idP, frameP, subframeP);
|
LOG_D(MAC,"[eNB %d] Frame %d, Subframe %d, entering MAC scheduler\n",module_idP, frameP, subframeP);
|
||||||
@@ -197,9 +197,15 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// refresh UE list based on UEs dropped by PHY in previous subframe
|
// refresh UE list based on UEs dropped by PHY in previous subframe
|
||||||
for (i=UE_list->head;i>0;i=UE_list->next[i])
|
i=UE_list->head;
|
||||||
if (mac_xface->get_eNB_UE_stats(module_idP,0,UE_RNTI(module_idP,i))==NULL)
|
while (i>=0) {
|
||||||
|
next_i = UE_list->next[i];
|
||||||
|
LOG_D(MAC,"UE %d : rnti %x, stats %p\n",i,UE_RNTI(module_idP,i),mac_xface->get_eNB_UE_stats(module_idP,0,UE_RNTI(module_idP,i)));
|
||||||
|
if (mac_xface->get_eNB_UE_stats(module_idP,0,UE_RNTI(module_idP,i))==NULL) {
|
||||||
mac_remove_ue(module_idP,i);
|
mac_remove_ue(module_idP,i);
|
||||||
|
}
|
||||||
|
i=next_i;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
switch (subframeP) {
|
switch (subframeP) {
|
||||||
|
|||||||
@@ -532,12 +532,12 @@ void schedule_ulsch_rnti(module_id_t module_idP,
|
|||||||
UE_is_to_be_scheduled(module_idP,CC_id,UE_id));
|
UE_is_to_be_scheduled(module_idP,CC_id,UE_id));
|
||||||
|
|
||||||
/* [SR] 01/07/13: Don't schedule UE if we cannot get harq pid */
|
/* [SR] 01/07/13: Don't schedule UE if we cannot get harq pid */
|
||||||
#ifndef EXMIMO_IOT
|
//#ifndef EXMIMO_IOT
|
||||||
if ((((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0)) && (ret == 0))
|
// if ((((UE_is_to_be_scheduled(module_idP,CC_id,UE_id)>0)) || (round>0) || ((frameP%10)==0)) && (ret == 0))
|
||||||
// if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames
|
// if there is information on bsr of DCCH, DTCH or if there is UL_SR, or if there is a packet to retransmit, or we want to schedule a periodic feedback every 10 frames
|
||||||
#else
|
//#else
|
||||||
if (round==0)
|
if (round==0)
|
||||||
#endif
|
//#endif
|
||||||
{
|
{
|
||||||
LOG_D(MAC,"[eNB %d][PUSCH %d] Frame %d subframeP %d Scheduling UE %d round %d (SR %d)\n",
|
LOG_D(MAC,"[eNB %d][PUSCH %d] Frame %d subframeP %d Scheduling UE %d round %d (SR %d)\n",
|
||||||
module_idP,harq_pid,frameP,subframeP,UE_id,round,
|
module_idP,harq_pid,frameP,subframeP,UE_id,round,
|
||||||
|
|||||||
Reference in New Issue
Block a user