From cb99f6a05a22f9fb1e79e79cedbb3dbc869f50b3 Mon Sep 17 00:00:00 2001
From: laurent <laurent.thomas@free.fr>
Date: Mon, 16 May 2016 11:50:41 +0200
Subject: [PATCH] LOWLATENCY fix2

---
 targets/RT/USER/Makefile           | 10 +++++-----
 targets/RT/USER/eNB_transport_IQ.c |  8 ++++----
 targets/RT/USER/lte-softmodem.c    | 22 +++++++++++-----------
 targets/RT/USER/lte-ue.c           | 12 ++++++------
 targets/RT/USER/rrh_gw.c           |  2 +-
 targets/RT/USER/rt_wrapper.c       |  4 ++--
 targets/RT/USER/rt_wrapper.h       |  2 +-
 7 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/targets/RT/USER/Makefile b/targets/RT/USER/Makefile
index c0efdd2f7c..621f30c5f4 100644
--- a/targets/RT/USER/Makefile
+++ b/targets/RT/USER/Makefile
@@ -8,14 +8,14 @@ include $(OPENAIR_TARGETS)/Makefile.common
 
 KERNEL_VERSION:=$(shell echo `uname -r | cut -d. -f-2`)
 KERNEL_TYPE:=$(shell echo `uname -r | cut -d. -f-3 | cut -d- -f3`)
-LOWLATENCY_KERNEL:=$(shell if [ $(KERNEL_TYPE) = "lowlatency" ]; then echo "1" ; else echo "0" ; fi)
+DEADLINE_SCHEDULER_KERNEL:=$(shell if [ $(KERNEL_TYPE) = "lowlatency" ]; then echo "1" ; else echo "0" ; fi)
 
 include $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc
 
 ifdef EXMIMO
-#ifdef LOWLATENCY # this ifdef is to be removed after the debugging
-ifeq ($(LOWLATENCY_KERNEL),1)
-CFLAGS+=-DLOWLATENCY
+#ifdef DEADLINE_SCHEDULER # this ifdef is to be removed after the debugging
+ifeq ($(DEADLINE_SCHEDULER_KERNEL),1)
+CFLAGS+=-DDEADLINE_SCHEDULER
 endif 
 #endif 
 endif
@@ -431,7 +431,7 @@ show:
 	@echo IS_REL10 is $(IS_REL10)
 	@echo openssl $(OPENSSL_FOUND) 
 	@echo nettle $(NETTLE_FOUND)
-	@echo lowlatency kernel: $(LOWLATENCY_KERNEL)
+	@echo lowlatency kernel: $(DEADLINE_SCHEDULER_KERNEL)
 
 beautiful:
 	astyle --style=gnu -s2 $(SRC)
diff --git a/targets/RT/USER/eNB_transport_IQ.c b/targets/RT/USER/eNB_transport_IQ.c
index acb382386e..86080c2c33 100644
--- a/targets/RT/USER/eNB_transport_IQ.c
+++ b/targets/RT/USER/eNB_transport_IQ.c
@@ -254,7 +254,7 @@ void *rrh_eNB_thread(void *arg) {
     pthread_mutex_init(&sync_trx_mutex,NULL);
 
     /* create eNB module's TX/RX threads */    
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
     error_code_eNB_rx = pthread_create(&eNB_rx_thread, NULL, rrh_eNB_rx_thread, (void *)dev);
     error_code_eNB_tx = pthread_create(&eNB_tx_thread, NULL, rrh_eNB_tx_thread, (void *)dev);
     LOG_I(RRH,"[eNB][SCHED] deadline scheduling applied to eNB TX/RX threads\n");	
@@ -302,7 +302,7 @@ void *rrh_eNB_thread(void *arg) {
       timerspec.it_interval.tv_nsec = rt_period%1000000000;
       
       
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
       error_code_timer = pthread_create(&main_timer_proc_thread, NULL, timer_proc, (void *)&timerspec);
       LOG_I(RRH,"[eNB][SCHED] deadline scheduling applied to timer thread \n");
 #else 
@@ -368,7 +368,7 @@ void *rrh_eNB_rx_thread(void *arg) {
   measurements = dev->measurements;
   next_rx_pos = spp_eth;
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
 
@@ -560,7 +560,7 @@ void *rrh_eNB_tx_thread(void *arg) {
   unsigned int subframe=0,frame=0;
   unsigned int pck_tx=0;
   
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
   
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index b6c3e20464..5b5899198a 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -176,7 +176,7 @@ pthread_t                       main_ue_thread;
 pthread_attr_t                  attr_dlsch_threads;
 pthread_attr_t                  attr_UE_thread;
 
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
 struct sched_param              sched_param_dlsch;
 #endif
 #endif
@@ -192,7 +192,7 @@ struct sched_param              sched_param_UE_thread;
 
 pthread_attr_t                  attr_eNB_proc_tx[MAX_NUM_CCs][NUM_ENB_THREADS];
 pthread_attr_t                  attr_eNB_proc_rx[MAX_NUM_CCs][NUM_ENB_THREADS];
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
 struct sched_param              sched_param_eNB_proc_tx[MAX_NUM_CCs][NUM_ENB_THREADS];
 struct sched_param              sched_param_eNB_proc_rx[MAX_NUM_CCs][NUM_ENB_THREADS];
 #endif
@@ -1087,7 +1087,7 @@ static void* eNB_thread_tx( void* param )
   }
 
 #else
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
   uint64_t runtime  = 850000 ;  
@@ -1295,7 +1295,7 @@ static void* eNB_thread_tx( void* param )
     if (proc->frame_tx==1024)
       proc->frame_tx=0;
     stop_meas( &softmodem_stats_tx_sf[proc->subframe] );
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
     if (opp_enabled){
       if(softmodem_stats_tx_sf[proc->subframe].diff_now/(cpuf) > attr.sched_runtime){
 	VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_RUNTIME_TX_ENB, (softmodem_stats_tx_sf[proc->subframe].diff_now/cpuf - attr.sched_runtime)/1000000.0);
@@ -1370,7 +1370,7 @@ static void* eNB_thread_rx( void* param )
   }
 
 #else
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
   uint64_t runtime  = 870000 ;
@@ -1534,7 +1534,7 @@ LOG_I( HW, "[SCHED][eNB] RX thread %d started on CPU %d TID %ld, sched_policy =
       proc->frame_rx=0;
 
     stop_meas( &softmodem_stats_rx_sf[proc->subframe] );
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
     if (opp_enabled){
       if(softmodem_stats_rx_sf[proc->subframe].diff_now/(cpuf) > attr.sched_runtime){
 	VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_RUNTIME_RX_ENB, (softmodem_stats_rx_sf[proc->subframe].diff_now/cpuf - attr.sched_runtime)/1000000.0);
@@ -1576,7 +1576,7 @@ void init_eNB_proc(void)
       // set the stack size
      
 
-#ifndef LOWLATENCY 
+#ifndef DEADLINE_SCHEDULER 
       /*  
        pthread_attr_init( &attr_eNB_proc_tx[CC_id][i] );
        if (pthread_attr_setstacksize( &attr_eNB_proc_tx[CC_id][i], 64 *PTHREAD_STACK_MIN ) != 0)
@@ -1603,7 +1603,7 @@ void init_eNB_proc(void)
       pthread_mutex_init( &PHY_vars_eNB_g[0][CC_id]->proc[i].mutex_rx, NULL);
       pthread_cond_init( &PHY_vars_eNB_g[0][CC_id]->proc[i].cond_tx, NULL);
       pthread_cond_init( &PHY_vars_eNB_g[0][CC_id]->proc[i].cond_rx, NULL);
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
       pthread_create( &PHY_vars_eNB_g[0][CC_id]->proc[i].pthread_tx, &attr_eNB_proc_tx[CC_id][i], eNB_thread_tx, &PHY_vars_eNB_g[0][CC_id]->proc[i] );
       pthread_create( &PHY_vars_eNB_g[0][CC_id]->proc[i].pthread_rx, &attr_eNB_proc_rx[CC_id][i], eNB_thread_rx, &PHY_vars_eNB_g[0][CC_id]->proc[i] );
 #else 
@@ -1778,7 +1778,7 @@ static void* eNB_thread( void* arg )
 #ifdef RTAI
   RT_TASK* task = rt_task_init_schmod(nam2num("eNBmain"), 0, 0, 0, SCHED_FIFO, 0xF);
 #else
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
 
@@ -3305,7 +3305,7 @@ int main( int argc, char **argv )
 #endif
   }
 
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
 
   /* Currently we set affinity for UHD to CPU 0 for eNB/UE and only if number of CPUS >2 */
   
@@ -3608,7 +3608,7 @@ int main( int argc, char **argv )
   pthread_attr_init (&attr_UE_thread);
   pthread_attr_setstacksize(&attr_UE_thread,8192);//5*PTHREAD_STACK_MIN);
 
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
   sched_param_UE_thread.sched_priority = sched_get_priority_max(SCHED_FIFO);
   pthread_attr_setschedparam(&attr_UE_thread,&sched_param_UE_thread);
   sched_param_dlsch.sched_priority = sched_get_priority_max(SCHED_FIFO); //OPENAIR_THREAD_PRIORITY;
diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c
index 561554516c..0e834a53ab 100644
--- a/targets/RT/USER/lte-ue.c
+++ b/targets/RT/USER/lte-ue.c
@@ -212,7 +212,7 @@ static void *UE_thread_synch(void *arg)
   printf("UE_thread_sync in with PHY_vars_UE %p\n",arg);
   printf("waiting for sync (UE_thread_synch) \n");
 
-#ifndef LOWLATENCY
+#ifndef DEADLINE_SCHEDULER
   int policy, s, j;
   struct sched_param sparam;
   char cpu_affinity[1024];
@@ -701,7 +701,7 @@ static void *UE_thread_tx(void *arg)
   LOG_D(HW,"Started UE TX thread (id %p)\n",task);
 #else
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
 
@@ -920,7 +920,7 @@ static void *UE_thread_rx(void *arg)
   LOG_D(HW,"Started UE RX thread (id %p)\n",task);
 #else
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
 
@@ -1237,7 +1237,7 @@ void *UE_thread(void *arg)
 
 #else
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
 
@@ -1616,7 +1616,7 @@ void *UE_thread(void *arg)
 
   int wait_sync_cnt = 0;
   int first_synch = 1;
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
   //  unsigned long mask = 1; // processor 0
@@ -1640,7 +1640,7 @@ void *UE_thread(void *arg)
 #endif
 
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   attr.size = sizeof(attr);
   attr.sched_flags = 0;
   attr.sched_nice = 0;
diff --git a/targets/RT/USER/rrh_gw.c b/targets/RT/USER/rrh_gw.c
index 8084644b85..4fd687a3a5 100644
--- a/targets/RT/USER/rrh_gw.c
+++ b/targets/RT/USER/rrh_gw.c
@@ -387,7 +387,7 @@ void *timer_proc(void *arg) {
   struct itimerspec   *old_value;
 
   
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
   struct sched_attr attr;
   unsigned int flags = 0;
   
diff --git a/targets/RT/USER/rt_wrapper.c b/targets/RT/USER/rt_wrapper.c
index a011cf8dfe..ed9eb4e798 100644
--- a/targets/RT/USER/rt_wrapper.c
+++ b/targets/RT/USER/rt_wrapper.c
@@ -28,7 +28,7 @@
  *******************************************************************************/
 
 /*! \file rt_wrapper.h
-* \brief provides a wrapper for the timing function, runtime calculations for real-time opeartions depending on weather RTAI or LOWLATENCY kernels are used or not
+* \brief provides a wrapper for the timing function, runtime calculations for real-time opeartions depending on weather RTAI or DEADLINE_SCHEDULER kernels are used or not
 * \author F. Kaltenberger and Navid Nikaein
 * \date 2013
 * \version 0.1
@@ -241,7 +241,7 @@ double get_runtime_rx(int rx_subframe, uint16_t runtime_phy_rx[29][6], uint32_t
    return runtime;	
 }
 
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
 int sched_setattr(pid_t pid, const struct sched_attr *attr, unsigned int flags)
 {
 
diff --git a/targets/RT/USER/rt_wrapper.h b/targets/RT/USER/rt_wrapper.h
index 88a3d96efa..d67632054b 100644
--- a/targets/RT/USER/rt_wrapper.h
+++ b/targets/RT/USER/rt_wrapper.h
@@ -72,7 +72,7 @@ double get_runtime_rx(int rx_subframe, uint16_t runtime_phy_rx[29][6], uint32_t
  * see https://www.kernel.org/doc/Documentation/scheduler/sched-deadline.txt  or
  * http://www.blaess.fr/christophe/2014/04/05/utiliser-un-appel-systeme-inconnu-de-la-libc/
  */
-#ifdef LOWLATENCY
+#ifdef DEADLINE_SCHEDULER
 
 #define gettid() syscall(__NR_gettid)
 
-- 
GitLab