New threadpool
- removed some whitespace noise. - cleaned up CMakeLists.txt - reintegrated task_manager.c into thread-pool.c - cleaned up some unnecessary code Co-authored-by: Cedric Roux <cedric.roux@eurecom.fr> Co-authored-by: Mikel Irazabal <mikel.irazabal@openairinterface.com>
This commit is contained in:
co-authored by
Cedric Roux
Mikel Irazabal
parent
c942fe43a9
commit
21dafbcde7
@@ -1232,10 +1232,8 @@ uci_procedures(PHY_VARS_eNB *eNB,
|
||||
} // end loop for (int i = 0; i < NUMBER_OF_UCI_MAX; i++) {
|
||||
}
|
||||
|
||||
void postDecode(L1_rxtx_proc_t *proc, notifiedFIFO_elt_t *req)
|
||||
void postDecode(L1_rxtx_proc_t *proc, turboDecode_t *rdata)
|
||||
{
|
||||
turboDecode_t * rdata=(turboDecode_t *) NotifiedFifoData(req);
|
||||
|
||||
LTE_eNB_ULSCH_t *ulsch = rdata->eNB->ulsch[rdata->UEid];
|
||||
LTE_UL_eNB_HARQ_t *ulsch_harq = rdata->ulsch_harq;
|
||||
PHY_VARS_eNB *eNB=rdata->eNB;
|
||||
@@ -1330,6 +1328,10 @@ void pusch_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) {
|
||||
const int frame = proc->frame_rx;
|
||||
uint32_t harq_pid0 = subframe2harq_pid(&eNB->frame_parms,frame,subframe);
|
||||
|
||||
turboDecode_t arr[64] = {0};
|
||||
task_ans_t ans[64] = {0};
|
||||
thread_info_tm_t t_info = {.ans = ans, .cap = 64, .len = 0, .buf = (uint8_t *)arr};
|
||||
|
||||
for (i = 0; i < NUMBER_OF_ULSCH_MAX; i++) {
|
||||
ulsch = eNB->ulsch[i];
|
||||
if (!ulsch) continue;
|
||||
@@ -1398,7 +1400,8 @@ void pusch_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) {
|
||||
i,
|
||||
0, // control_only_flag
|
||||
ulsch_harq->V_UL_DAI,
|
||||
ulsch_harq->nb_rb > 20 ? 1 : 0);
|
||||
ulsch_harq->nb_rb > 20 ? 1 : 0,
|
||||
&t_info);
|
||||
}
|
||||
else if ((ulsch) &&
|
||||
(ulsch->rnti>0) &&
|
||||
@@ -1415,14 +1418,12 @@ void pusch_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) {
|
||||
} // for (i=0; i<NUMBER_OF_ULSCH_MAX; i++)
|
||||
|
||||
const bool decode = proc->nbDecode;
|
||||
while (proc->nbDecode > 0) {
|
||||
notifiedFIFO_elt_t *req=pullTpool(proc->respDecode, proc->threadPool);
|
||||
if (req == NULL)
|
||||
break; // Tpool has been stopped
|
||||
postDecode(proc, req);
|
||||
const time_stats_t ts = exec_time_stats_NotifiedFIFO(req);
|
||||
merge_meas(&eNB->ulsch_turbo_decoding_stats, &ts);
|
||||
delNotifiedFIFO_elt(req);
|
||||
DevAssert(t_info.len == proc->nbDecode);
|
||||
if (proc->nbDecode > 0) {
|
||||
join_task_ans(t_info.ans, t_info.len);
|
||||
for (size_t i = 0; i < t_info.len; ++i) {
|
||||
postDecode(proc, &arr[i]);
|
||||
}
|
||||
}
|
||||
if (decode)
|
||||
stop_meas(&eNB->ulsch_decoding_stats);
|
||||
|
||||
Reference in New Issue
Block a user