Commit d1f7346c authored by Eurecom's avatar Eurecom

bug fix for missing wait sync

parent cabb4561
...@@ -560,6 +560,9 @@ void *te_thread(void *param) { ...@@ -560,6 +560,9 @@ void *te_thread(void *param) {
PHY_VARS_eNB *eNB = ((te_params *)param)->eNB; PHY_VARS_eNB *eNB = ((te_params *)param)->eNB;
eNB_proc_t *proc = &eNB->proc; eNB_proc_t *proc = &eNB->proc;
wait_sync("te_thread");
while (!oai_exit) { while (!oai_exit) {
if (wait_on_condition(&proc->mutex_te[0],&proc->cond_te[0],&proc->instance_cnt_te[0],"te thread")<0) break; if (wait_on_condition(&proc->mutex_te[0],&proc->cond_te[0],&proc->instance_cnt_te[0],"te thread")<0) break;
...@@ -597,6 +600,9 @@ void *te_thread1(void *param) { ...@@ -597,6 +600,9 @@ void *te_thread1(void *param) {
PHY_VARS_eNB *eNB = ((te_params *)param)->eNB; PHY_VARS_eNB *eNB = ((te_params *)param)->eNB;
eNB_proc_t *proc = &eNB->proc; eNB_proc_t *proc = &eNB->proc;
wait_sync("te_thread1");
while (!oai_exit) { while (!oai_exit) {
...@@ -635,6 +641,9 @@ void *te_thread2(void *param) { ...@@ -635,6 +641,9 @@ void *te_thread2(void *param) {
PHY_VARS_eNB *eNB = ((te_params *)param)->eNB; PHY_VARS_eNB *eNB = ((te_params *)param)->eNB;
eNB_proc_t *proc = &eNB->proc; eNB_proc_t *proc = &eNB->proc;
wait_sync("te_thread2");
while (!oai_exit) { while (!oai_exit) {
......
...@@ -420,6 +420,7 @@ void *td_thread(void *param) { ...@@ -420,6 +420,7 @@ void *td_thread(void *param) {
thread_top_init("td_thread",1,200000,250000,500000); thread_top_init("td_thread",1,200000,250000,500000);
pthread_setname_np( pthread_self(),"td processing"); pthread_setname_np( pthread_self(),"td processing");
LOG_I(PHY,"thread td created id=%ld\n", syscall(__NR_gettid)); LOG_I(PHY,"thread td created id=%ld\n", syscall(__NR_gettid));
wait_sync("td_thread");
while (!oai_exit) { while (!oai_exit) {
......
...@@ -148,7 +148,7 @@ static void *feptx_thread(void *param) { ...@@ -148,7 +148,7 @@ static void *feptx_thread(void *param) {
LOG_I(PHY,"thread feptx created id=%ld\n", syscall(__NR_gettid)); LOG_I(PHY,"thread feptx created id=%ld\n", syscall(__NR_gettid));
//CPU_SET(6, &cpuset); //CPU_SET(6, &cpuset);
//pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); //pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
wait_sync("feptx_thread");
...@@ -445,6 +445,7 @@ static void *fep_thread(void *param) { ...@@ -445,6 +445,7 @@ static void *fep_thread(void *param) {
CPU_ZERO(&cpuset); CPU_ZERO(&cpuset);
//CPU_SET(2, &cpuset); //CPU_SET(2, &cpuset);
//pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); //pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
wait_sync("fep_thread");
while (!oai_exit) { while (!oai_exit) {
......
...@@ -207,6 +207,8 @@ static void* tx_thread(void* param) { ...@@ -207,6 +207,8 @@ static void* tx_thread(void* param) {
sprintf(thread_name,"TXnp4_%d\n",&eNB->proc.proc_rxtx[0] == proc ? 0 : 1); sprintf(thread_name,"TXnp4_%d\n",&eNB->proc.proc_rxtx[0] == proc ? 0 : 1);
thread_top_init(thread_name,1,470000,500000,500000); thread_top_init(thread_name,1,470000,500000,500000);
wait_sync("tx_thread");
while (!oai_exit) { while (!oai_exit) {
if (wait_on_condition(&proc->mutex_rxtx,&proc->cond_rxtx,&proc->instance_cnt_rxtx,thread_name)<0) break; if (wait_on_condition(&proc->mutex_rxtx,&proc->cond_rxtx,&proc->instance_cnt_rxtx,thread_name)<0) break;
...@@ -265,6 +267,8 @@ static void* eNB_thread_rxtx( void* param ) { ...@@ -265,6 +267,8 @@ static void* eNB_thread_rxtx( void* param ) {
//CPU_SET(3, &cpuset); //CPU_SET(3, &cpuset);
//pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); //pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
wait_sync("eNB_thread_rxtx");
while (!oai_exit) { while (!oai_exit) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0+(proc->subframe_rx&1), 0 ); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_eNB_PROC_RXTX0+(proc->subframe_rx&1), 0 );
...@@ -625,6 +629,7 @@ static void* eNB_thread_prach( void* param ) { ...@@ -625,6 +629,7 @@ static void* eNB_thread_prach( void* param ) {
thread_top_init("eNB_thread_prach",1,500000,1000000,20000000); thread_top_init("eNB_thread_prach",1,500000,1000000,20000000);
wait_sync("eNB_thread_prach");
while (!oai_exit) { while (!oai_exit) {
...@@ -743,6 +748,7 @@ void init_eNB_proc(int inst) { ...@@ -743,6 +748,7 @@ void init_eNB_proc(int inst) {
proc_rxtx[1].instance_cnt_rxtx = -1; proc_rxtx[1].instance_cnt_rxtx = -1;
proc->instance_cnt_prach = -1; proc->instance_cnt_prach = -1;
proc->instance_cnt_asynch_rxtx = -1; proc->instance_cnt_asynch_rxtx = -1;
proc->instance_cnt_synch = -1;
proc->CC_id = CC_id; proc->CC_id = CC_id;
proc->first_rx=1; proc->first_rx=1;
......
...@@ -987,6 +987,7 @@ static void* ru_thread_prach( void* param ) { ...@@ -987,6 +987,7 @@ static void* ru_thread_prach( void* param ) {
ru_thread_prach_status = 0; ru_thread_prach_status = 0;
thread_top_init("ru_thread_prach",1,500000,1000000,20000000); thread_top_init("ru_thread_prach",1,500000,1000000,20000000);
wait_sync("ru_thread_prach");
while (!oai_exit) { while (!oai_exit) {
...@@ -1026,6 +1027,7 @@ static void* ru_thread_prach_br( void* param ) { ...@@ -1026,6 +1027,7 @@ static void* ru_thread_prach_br( void* param ) {
ru_thread_prach_status = 0; ru_thread_prach_status = 0;
thread_top_init("ru_thread_prach_br",1,500000,1000000,20000000); thread_top_init("ru_thread_prach_br",1,500000,1000000,20000000);
wait_sync(ru_thread_prach_br);
while (!oai_exit) { while (!oai_exit) {
...@@ -1413,6 +1415,7 @@ static void* ru_thread_tx( void* param ) { ...@@ -1413,6 +1415,7 @@ static void* ru_thread_tx( void* param ) {
//CPU_SET(5, &cpuset); //CPU_SET(5, &cpuset);
//pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); //pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset);
wait_sync("ru_thread_tx");
wait_on_condition(&proc->mutex_FH1,&proc->cond_FH1,&proc->instance_cnt_FH1,"ru_thread_tx"); wait_on_condition(&proc->mutex_FH1,&proc->cond_FH1,&proc->instance_cnt_FH1,"ru_thread_tx");
......
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