Commit d951795a authored by fnabet's avatar fnabet

build fixes

parent 4aed32e7
...@@ -43,6 +43,7 @@ enum THREAD_INDEX { OPENAIR_THREAD_INDEX = 0, ...@@ -43,6 +43,7 @@ enum THREAD_INDEX { OPENAIR_THREAD_INDEX = 0,
#define OPENAIR_THREAD_STACK_SIZE PTHREAD_STACK_MIN //4096 //RTL_PTHREAD_STACK_MIN*6 #define OPENAIR_THREAD_STACK_SIZE PTHREAD_STACK_MIN //4096 //RTL_PTHREAD_STACK_MIN*6
//#define DLC_THREAD_STACK_SIZE 4096 //DLC stack size //#define DLC_THREAD_STACK_SIZE 4096 //DLC stack size
//#define UE_SLOT_PARALLELISATION
enum openair_SCHED_STATUS { enum openair_SCHED_STATUS {
openair_SCHED_STOPPED=1, openair_SCHED_STOPPED=1,
...@@ -140,7 +141,9 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t ...@@ -140,7 +141,9 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t
*/ */
int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t abstraction_flag,runmode_t mode,relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn); int phy_procedures_UE_RX(PHY_VARS_UE *phy_vars_ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t abstraction_flag,runmode_t mode,relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn);
#ifdef UE_SLOT_PARALLELISATION
void *UE_thread_fep_slot1(void *arg); void *UE_thread_fep_slot1(void *arg);
#endif
/*! \brief Scheduling for UE TX procedures in TDD S-subframes. /*! \brief Scheduling for UE TX procedures in TDD S-subframes.
@param phy_vars_ue Pointer to UE variables on which to act @param phy_vars_ue Pointer to UE variables on which to act
......
...@@ -73,6 +73,7 @@ fifo_dump_emos_UE emos_dump_UE; ...@@ -73,6 +73,7 @@ fifo_dump_emos_UE emos_dump_UE;
#define NS_PER_SLOT 500000 #define NS_PER_SLOT 500000
extern int oai_exit; extern int oai_exit;
extern double cpuf; extern double cpuf;
...@@ -4146,7 +4147,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue, ...@@ -4146,7 +4147,7 @@ void ue_dlsch_procedures(PHY_VARS_UE *ue,
} }
#if 0 #ifdef UE_SLOT_PARALLELISATION
/*! /*!
* \brief This is the UE synchronize thread. * \brief This is the UE synchronize thread.
* It performs band scanning and synchonization. * It performs band scanning and synchonization.
......
...@@ -843,6 +843,7 @@ void *UE_thread(void *arg) { ...@@ -843,6 +843,7 @@ void *UE_thread(void *arg) {
return NULL; return NULL;
} }
#ifdef UE_SLOT_PARALLELISATION
void *UE_thread_fep_slot1(void *arg) { void *UE_thread_fep_slot1(void *arg) {
static __thread int UE_thread_rxtx_retval; static __thread int UE_thread_rxtx_retval;
...@@ -1095,6 +1096,8 @@ void *UE_thread_fep_slot1(void *arg) { ...@@ -1095,6 +1096,8 @@ void *UE_thread_fep_slot1(void *arg) {
free(arg); free(arg);
return &UE_thread_rxtx_retval; return &UE_thread_rxtx_retval;
} }
#endif
/*! /*!
* \brief Initialize the UE theads. * \brief Initialize the UE theads.
* Creates the UE threads: * Creates the UE threads:
...@@ -1109,7 +1112,9 @@ void *UE_thread_fep_slot1(void *arg) { ...@@ -1109,7 +1112,9 @@ void *UE_thread_fep_slot1(void *arg) {
*/ */
void init_UE_threads(PHY_VARS_UE *UE) { void init_UE_threads(PHY_VARS_UE *UE) {
struct rx_tx_thread_data *rtd; struct rx_tx_thread_data *rtd;
#ifdef UE_SLOT_PARALLELISATION
struct fep_slot1_thread_data *fep_slot1_data; struct fep_slot1_thread_data *fep_slot1_data;
#endif
pthread_attr_init (&UE->proc.attr_ue); pthread_attr_init (&UE->proc.attr_ue);
pthread_attr_setstacksize(&UE->proc.attr_ue,8192);//5*PTHREAD_STACK_MIN); pthread_attr_setstacksize(&UE->proc.attr_ue,8192);//5*PTHREAD_STACK_MIN);
...@@ -1130,9 +1135,12 @@ void init_UE_threads(PHY_VARS_UE *UE) { ...@@ -1130,9 +1135,12 @@ void init_UE_threads(PHY_VARS_UE *UE) {
UE->proc.proc_rxtx[i].sub_frame_step=nb_threads; UE->proc.proc_rxtx[i].sub_frame_step=nb_threads;
pthread_create(&UE->proc.proc_rxtx[i].pthread_rxtx, NULL, UE_thread_rxn_txnp4, rtd); pthread_create(&UE->proc.proc_rxtx[i].pthread_rxtx, NULL, UE_thread_rxn_txnp4, rtd);
#ifdef UE_SLOT_PARALLELISATION
pthread_mutex_init(&UE->proc.proc_rxtx[i].mutex_fep_slot1,NULL); pthread_mutex_init(&UE->proc.proc_rxtx[i].mutex_fep_slot1,NULL);
pthread_cond_init(&UE->proc.proc_rxtx[i].cond_fep_slot1,NULL); pthread_cond_init(&UE->proc.proc_rxtx[i].cond_fep_slot1,NULL);
pthread_create(&UE->proc.proc_rxtx[i].pthread_fep_slot1,NULL,UE_thread_fep_slot1, rtd); pthread_create(&UE->proc.proc_rxtx[i].pthread_fep_slot1,NULL,UE_thread_fep_slot1, rtd);
#endif
} }
pthread_create(&UE->proc.pthread_synch,NULL,UE_thread_synch,(void*)UE); pthread_create(&UE->proc.pthread_synch,NULL,UE_thread_synch,(void*)UE);
} }
......
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