bug fix for missing wait sync
This commit is contained in:
@@ -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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
|
|
||||||
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) {
|
|||||||
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) {
|
|||||||
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) {
|
|||||||
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) {
|
|||||||
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 ) {
|
|||||||
//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 ) {
|
|||||||
|
|
||||||
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) {
|
|||||||
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 ) {
|
|||||||
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 ) {
|
|||||||
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 ) {
|
|||||||
|
|
||||||
//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");
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user