diff --git a/CMakeLists.txt b/CMakeLists.txt index baffcf32fa..67b09f1e22 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -877,8 +877,6 @@ include_directories ("${OPENAIR_DIR}/sdr/COMMON") ############################################################## add_boolean_option(OAI_NW_DRIVER_TYPE_ETHERNET False "????") -add_boolean_option(DEADLINE_SCHEDULER False "Use the Linux scheduler SCHED_DEADLINE: kernel >= 3.14") -add_boolean_option(CPU_AFFINITY False "Enable CPU Affinity of threads (only valid without deadline scheduler). It is enabled only with >2 CPUs") add_boolean_option(NAS_NETLINK False "useless ??? Must be True to compile nasmesh driver without rtai ????") add_boolean_option(OAI_NW_DRIVER_USE_NETLINK True "????") diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index aaa1bee646..0537a93aea 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -40,7 +40,6 @@ conf_nvram_path=$OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf XFORMS="True" SKIP_SHARED_LIB_FLAG="False" PRINT_STATS="False" -DEADLINE_SCHEDULER_FLAG_USER="" HW="None" TP="Ethernet" EPC=0 @@ -346,26 +345,6 @@ function main() { BUILD_COVERITY_SCAN=1 echo_info "Will build Coverity-Scan objects for upload" shift;; - --disable-deadline) - DEADLINE_SCHEDULER_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DDEADLINE_SCHEDULER=False" - echo_info "Disabling the usage of deadline scheduler" - shift 1;; - --enable-deadline) - DEADLINE_SCHEDULER_FLAG_USER="True" - CMAKE_CMD="$CMAKE_CMD -DDEADLINE_SCHEDULER=True" - echo_info "Enabling the usage of deadline scheduler" - shift 1;; - --enable-cpu-affinity) - CPU_AFFINITY_FLAG_USER="True" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=True" - echo_info "Enabling CPU Affinity (only valid when not using deadline scheduler)" - shift 1;; - --disable-cpu-affinity) - CPU_AFFINITY_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=False" - echo_info "Disabling CPU Affinity (only valid when not using deadline scheduler)" - shift 1;; --disable-T-Tracer) CMAKE_CMD="$CMAKE_CMD -DT_TRACER=False" echo_info "Disabling the T tracer" @@ -483,15 +462,6 @@ function main() { echo_info "RF HW set to $HW" # If the user doesn't specify the Linux scheduler to use, we set a value - #Disable CPU Affinity for deadline scheduler - if [ "$DEADLINE_SCHEDULER_FLAG_USER" = "True" ] ; then - CPU_AFFINITY_FLAG_USER="False" - CMAKE_CMD="$CMAKE_CMD -DCPU_AFFINITY=False" - fi - - echo_info "Flags for Deadline scheduler: $DEADLINE_SCHEDULER_FLAG_USER" - echo_info "Flags for CPU Affinity: $CPU_AFFINITY_FLAG_USER" - ####################################################### # Setting and printing OAI envs, we should check here # ####################################################### diff --git a/common/utils/system.c b/common/utils/system.c index f13fd84289..aeea9a1595 100644 --- a/common/utils/system.c +++ b/common/utils/system.c @@ -280,28 +280,6 @@ void thread_top_init(char *thread_name, uint64_t deadline, uint64_t period) { -#ifdef DEADLINE_SCHEDULER - struct sched_attr attr; - - unsigned int flags = 0; - - attr.size = sizeof(attr); - attr.sched_flags = 0; - attr.sched_nice = 0; - attr.sched_priority = 0; - - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = runtime; - attr.sched_deadline = deadline; - attr.sched_period = period; - - if (sched_setattr(0, &attr, flags) < 0 ) { - perror("[SCHED] eNB tx thread: sched_setattr failed\n"); - fprintf(stderr,"sched_setattr Error = %s",strerror(errno)); - exit(1); - } - -#else //LOW_LATENCY int policy, s, j; struct sched_param sparam; char cpu_affinity[1024]; @@ -314,27 +292,6 @@ void thread_top_init(char *thread_name, /* Enable CPU Affinity only if number of CPUs > 2 */ CPU_ZERO(&cpuset); -#ifdef CPU_AFFINITY - if (affinity == 0) { - LOG_W(HW,"thread_top_init() called with affinity==0, but overruled by #ifdef CPU_AFFINITY\n"); - } - else if (get_nprocs() > 2) - { - for (j = 2; j < get_nprocs(); j++) - CPU_SET(j, &cpuset); - s = pthread_setaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); - if (s != 0) - { - perror( "pthread_setaffinity_np"); - exit_fun("Error setting processor affinity"); - } - } -#else //CPU_AFFINITY - if (affinity) { - LOG_W(HW,"thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY.\n"); - } -#endif //CPU_AFFINITY - /* Check the actual affinity mask assigned to the thread */ s = pthread_getaffinity_np(pthread_self(), sizeof(cpu_set_t), &cpuset); if (s != 0) @@ -384,8 +341,6 @@ void thread_top_init(char *thread_name, "???", sparam.sched_priority, cpu_affinity ); } - -#endif //LOW_LATENCY } diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.c b/common/utils/telnetsrv/telnetsrv_proccmd.c index 6a0da678e2..99d5ebd94e 100644 --- a/common/utils/telnetsrv/telnetsrv_proccmd.c +++ b/common/utils/telnetsrv/telnetsrv_proccmd.c @@ -121,11 +121,6 @@ char toksep[2]; case SCHED_RR: lptr+=sprintf(lptr,"%s ","rt: rr"); break; -#ifdef SCHED_DEADLINE - case SCHED_DEADLINE: - lptr+=sprintf(lptr,"%s ","rt: deadline"); - break; -#endif default: lptr+=sprintf(lptr,"%s ","????"); break; diff --git a/doc/testing_gnb_w_cots_ue_resources/oai_enb.log b/doc/testing_gnb_w_cots_ue_resources/oai_enb.log index 7356c0c88d..a24e22432a 100755 --- a/doc/testing_gnb_w_cots_ue_resources/oai_enb.log +++ b/doc/testing_gnb_w_cots_ue_resources/oai_enb.log @@ -343,7 +343,6 @@ Initializing RU threads [PHY] Starting RU 0 (eNodeB_3GPP,synch_to_ext_device), waiting for sync (ru_thread,-1/0xff4968,0x17af520,0x16952a0) channel 0, Setting tx_gain offset 0.000000, rx_gain offset 118.000000, tx_freq 2680000000.000000, rx_freq 2560000000.000000 -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [PHY] Initializing frame parms for N_RB_DL 25, Ncp 0, osf 1 [PHY] lte_parms.c: Setting N_RB_DL to 25, ofdm_symbol_size 512 [PHY] Initializing RU signal buffers (if_south local RF) nb_tx 1 @@ -624,10 +623,8 @@ cnx_id 1 assoc_id 904 [PHY] init_eNB_proc(inst:0) RC.nb_CC[inst]:1 [PHY] Initializing eNB processes instance:0 CC_id 0 [PHY] eNB->single_thread_flag:0 -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [HW] [SCHED][eNB] eNB_thread_prach started on CPU 0, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 [ENB_APP] ALL RUs ready - ALL eNBs ready -[HW] thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY. [HW] [SCHED][eNB] eNB_thread_prach_br started on CPU 0, sched_policy = SCHED_FIFO , priority = 99, CPU Affinity= CPU_0 CPU_1 CPU_2 CPU_3 [ENB_APP] Sending sync to all threads [MME_APP] Creating MME_APP eNB Task @@ -1908,4 +1905,4 @@ len = 336 [X2AP] X2 has 1 process ongoing [X2AP] X2 has 1 process ongoing [X2AP] X2 has 1 process ongoing - \ No newline at end of file + diff --git a/targets/RT/USER/lte-enb.c b/targets/RT/USER/lte-enb.c index 5d01df15ef..de169417fc 100644 --- a/targets/RT/USER/lte-enb.c +++ b/targets/RT/USER/lte-enb.c @@ -917,14 +917,6 @@ void init_eNB_proc(int inst) { pthread_mutex_init( &proc->mutex_RU_PRACH_br,NULL); pthread_cond_init( &proc->cond_prach_br, NULL); pthread_attr_init( &proc->attr_prach_br); -#ifndef DEADLINE_SCHEDULER - attr0 = &L1_proc->attr; - attr1 = &L1_proc_tx->attr; - attr_prach = &proc->attr_prach; - attr_prach_br = &proc->attr_prach_br; - // attr_td = &proc->attr_td; - // attr_te = &proc->attr_te; -#endif if(get_thread_worker_conf() == WORKER_ENABLE) { init_te_thread(eNB); diff --git a/targets/RT/USER/lte-ru.c b/targets/RT/USER/lte-ru.c index 8d2b785e78..1595ce737f 100644 --- a/targets/RT/USER/lte-ru.c +++ b/targets/RT/USER/lte-ru.c @@ -2277,15 +2277,6 @@ void init_RU_proc(RU_t *ru) { pthread_mutex_init( &proc->mutex_rf_tx, NULL); pthread_cond_init( &proc->cond_rf_tx, NULL); #endif -#ifndef DEADLINE_SCHEDULER - attr_FH = &proc->attr_FH; - attr_FH1 = &proc->attr_FH1; - attr_prach = &proc->attr_prach; - attr_synch = &proc->attr_synch; - attr_asynch = &proc->attr_asynch_rxtx; - attr_emulateRF = &proc->attr_emulateRF; - attr_prach_br = &proc->attr_prach_br; -#endif if (ru->has_ctrl_prt == 1) pthread_create( &proc->pthread_ctrl, attr_ctrl, ru_thread_control, (void*)ru ); else { diff --git a/targets/RT/USER/lte-ue.c b/targets/RT/USER/lte-ue.c index 9b57b5631f..26d37bff5e 100644 --- a/targets/RT/USER/lte-ue.c +++ b/targets/RT/USER/lte-ue.c @@ -203,22 +203,6 @@ void init_thread(int sched_runtime, int sched_fifo, cpu_set_t *cpuset, char *name) { -#ifdef DEADLINE_SCHEDULER - - if (sched_runtime!=0) { - struct sched_attr attr= {0}; - attr.size = sizeof(attr); - attr.sched_policy = SCHED_DEADLINE; - attr.sched_runtime = sched_runtime; - attr.sched_deadline = sched_deadline; - attr.sched_period = 0; - AssertFatal(sched_setattr(0, &attr, 0) == 0, - "[SCHED] %s thread: sched_setattr failed %s \n", name, strerror(errno)); - LOG_I(HW,"[SCHED][eNB] %s deadline thread %lu started on CPU %d\n", - name, (unsigned long)gettid(), sched_getcpu()); - } - -#else int settingPriority = 1; if (checkIfFedoraDistribution()) @@ -250,7 +234,6 @@ void init_thread(int sched_runtime, } CPU_FREE(cset); -#endif } void init_UE(int nb_inst,