Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
634e38bd
Commit
634e38bd
authored
Oct 13, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove DEADLINE_SCHEDULER and CPU_AFFINITY defines
parent
cc8da80f
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1 addition
and
120 deletions
+1
-120
CMakeLists.txt
CMakeLists.txt
+0
-2
cmake_targets/build_oai
cmake_targets/build_oai
+0
-30
common/utils/system.c
common/utils/system.c
+0
-45
common/utils/telnetsrv/telnetsrv_proccmd.c
common/utils/telnetsrv/telnetsrv_proccmd.c
+0
-5
doc/testing_gnb_w_cots_ue_resources/oai_enb.log
doc/testing_gnb_w_cots_ue_resources/oai_enb.log
+1
-4
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+0
-8
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+0
-9
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+0
-17
No files found.
CMakeLists.txt
View file @
634e38bd
...
...
@@ -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
"????"
)
...
...
cmake_targets/build_oai
View file @
634e38bd
...
...
@@ -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 #
#######################################################
...
...
common/utils/system.c
View file @
634e38bd
...
...
@@ -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
}
...
...
common/utils/telnetsrv/telnetsrv_proccmd.c
View file @
634e38bd
...
...
@@ -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
;
...
...
doc/testing_gnb_w_cots_ue_resources/oai_enb.log
View file @
634e38bd
...
...
@@ -343,7 +343,6 @@ Initializing RU threads
[0m[0m[PHY]
Starting RU 0 (eNodeB_3GPP,synch_to_ext_device),
[0mwaiting
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
[0m[93m[HW]
thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY.
[0m[0m[PHY]
Initializing frame parms for N_RB_DL 25, Ncp 0, osf 1
[0m[0m[PHY]
lte_parms.c: Setting N_RB_DL to 25, ofdm_symbol_size 512
[0m[0m[PHY]
Initializing RU signal buffers (if_south local RF) nb_tx 1
...
...
@@ -624,10 +623,8 @@ cnx_id 1 assoc_id 904
[0m[0m[PHY]
init_eNB_proc(inst:0) RC.nb_CC[inst]:1
[0m[0m[PHY]
Initializing eNB processes instance:0 CC_id 0
[0m[0m[PHY]
eNB->single_thread_flag:0
[0m[0m[93m[HW]
thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY.
[0m[0m[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
[0m[0m[ENB_APP]
ALL RUs ready - ALL eNBs ready
[0m[0m[93m[HW]
thread_top_init() called with affinity>0, but overruled by #ifndef CPU_AFFINITY.
[0m[0m[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
[0m[0m[ENB_APP]
Sending sync to all threads
[0m[0m[MME_APP]
Creating MME_APP eNB Task
...
...
@@ -1908,4 +1905,4 @@ len = 336
[0m[0m[X2AP]
X2 has 1 process ongoing
[0m[0m[X2AP]
X2 has 1 process ongoing
[0m[0m[X2AP]
X2 has 1 process ongoing
[0m
\ No newline at end of file
[0m
targets/RT/USER/lte-enb.c
View file @
634e38bd
...
...
@@ -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
);
...
...
targets/RT/USER/lte-ru.c
View file @
634e38bd
...
...
@@ -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
{
...
...
targets/RT/USER/lte-ue.c
View file @
634e38bd
...
...
@@ -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
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment