Commit 125ac0de authored by mir's avatar mir

Second thread pool for rx-tx bug removed

parent b457e45e
...@@ -177,12 +177,6 @@ static void tx_func(void *param) ...@@ -177,12 +177,6 @@ static void tx_func(void *param)
/* this thread is done with the sched_info, decrease the reference counter */ /* this thread is done with the sched_info, decrease the reference counter */
LOG_D(NR_PHY, "Calling deref_sched_response for id %d (tx_func) in %d.%d\n", info->sched_response_id, frame_tx, slot_tx); LOG_D(NR_PHY, "Calling deref_sched_response for id %d (tx_func) in %d.%d\n", info->sched_response_id, frame_tx, slot_tx);
deref_sched_response(info->sched_response_id); deref_sched_response(info->sched_response_id);
//assert(info->elt->reponseFifo == &gNB->L1_tx_out);
if (info->elt->reponseFifo)
pushNotifiedFIFO(info->elt->reponseFifo, info->elt);
else
delNotifiedFIFO_elt(info->elt);
} }
...@@ -294,12 +288,6 @@ void rx_func(void *param) ...@@ -294,12 +288,6 @@ void rx_func(void *param)
stop_meas(&softmodem_stats_rxtx_sf); stop_meas(&softmodem_stats_rxtx_sf);
clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_RX[rt_prof_idx]); clock_gettime(CLOCK_MONOTONIC, &info->gNB->rt_L1_profiling.return_L1_RX[rt_prof_idx]);
//assert(info->elt->reponseFifo == &gNB->resp_L1);
if (info->elt->reponseFifo)
pushNotifiedFIFO(info->elt->reponseFifo, info->elt);
else
delNotifiedFIFO_elt(info->elt);
} }
static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) { static size_t dump_L1_meas_stats(PHY_VARS_gNB *gNB, RU_t *ru, char *output, size_t outputlen) {
...@@ -389,9 +377,6 @@ void init_gNB_Tpool(int inst) { ...@@ -389,9 +377,6 @@ void init_gNB_Tpool(int inst) {
span_core_id_t out = {.cap = 128, .core_id = core_id, .sz = 0}; span_core_id_t out = {.cap = 128, .core_id = core_id, .sz = 0};
parse_num_threads(get_softmodem_params()->threadPoolConfig, &out); parse_num_threads(get_softmodem_params()->threadPoolConfig, &out);
init_task_manager(&gNB->man, out.core_id, out.sz); init_task_manager(&gNB->man, out.core_id, out.sz);
// 2nd tpool needed to avoid current cycle and deadlock
int lst_cores[] = {-1, -1};
init_task_manager(&gNB->man_rx_tx_ru, lst_cores, 2);
gNB_L1_proc_t *proc = &gNB->proc; gNB_L1_proc_t *proc = &gNB->proc;
// PUSCH symbols per thread need to be calculated by how many threads we have // PUSCH symbols per thread need to be calculated by how many threads we have
...@@ -439,7 +424,7 @@ void term_gNB_Tpool(int inst) { ...@@ -439,7 +424,7 @@ void term_gNB_Tpool(int inst) {
void (*clean)(task_t*) = NULL; void (*clean)(task_t*) = NULL;
free_task_manager(&gNB->man , clean); free_task_manager(&gNB->man , clean);
free_task_manager(&gNB->man_rx_tx_ru , clean);
gNB_L1_proc_t *proc = &gNB->proc; gNB_L1_proc_t *proc = &gNB->proc;
if (!get_softmodem_params()->emulate_l1) if (!get_softmodem_params()->emulate_l1)
......
...@@ -835,7 +835,6 @@ typedef struct processingData_L1tx { ...@@ -835,7 +835,6 @@ typedef struct processingData_L1tx {
int num_ul_pdcch; int num_ul_pdcch;
/* a reference to the sched_response, to release it when not needed anymore */ /* a reference to the sched_response, to release it when not needed anymore */
int sched_response_id; int sched_response_id;
notifiedFIFO_elt_t *elt;
} processingData_L1tx_t; } processingData_L1tx_t;
typedef struct processingData_L1rx { typedef struct processingData_L1rx {
......
...@@ -406,7 +406,6 @@ static int nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int ...@@ -406,7 +406,6 @@ static int nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int
//--------------------- ULSCH decoding --------------------- //--------------------- ULSCH decoding ---------------------
//---------------------------------------------------------- //----------------------------------------------------------
start_meas(&gNB->ulsch_decoding_stats);
int const nbDecode = nr_ulsch_decoding(gNB, ULSCH_id, gNB->pusch_vars[ULSCH_id].llr, frame_parms, pusch_pdu, frame_rx, slot_rx, harq_pid, G, t_info); int const nbDecode = nr_ulsch_decoding(gNB, ULSCH_id, gNB->pusch_vars[ULSCH_id].llr, frame_parms, pusch_pdu, frame_rx, slot_rx, harq_pid, G, t_info);
return nbDecode; return nbDecode;
} }
...@@ -741,10 +740,6 @@ int check_srs_pdu(const nfapi_nr_srs_pdu_t *srs_pdu, nfapi_nr_srs_pdu_t *saved_s ...@@ -741,10 +740,6 @@ int check_srs_pdu(const nfapi_nr_srs_pdu_t *srs_pdu, nfapi_nr_srs_pdu_t *saved_s
return 0; return 0;
} }
static int cnt = 0;
int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
{ {
/* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */ /* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */
...@@ -960,8 +955,6 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) ...@@ -960,8 +955,6 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
nr_postDecode(gNB, &arr[i]); nr_postDecode(gNB, &arr[i]);
} }
stop_meas(&gNB->ulsch_decoding_stats);
for (int i = 0; i < gNB->max_nb_srs; i++) { for (int i = 0; i < gNB->max_nb_srs; i++) {
NR_gNB_SRS_t *srs = &gNB->srs[i]; NR_gNB_SRS_t *srs = &gNB->srs[i];
if (srs) { if (srs) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment