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
Michael Black
OpenXG-RAN
Commits
4d787625
Commit
4d787625
authored
Apr 30, 2019
by
Laurent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
still to compile
parent
8a921380
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
40 additions
and
149 deletions
+40
-149
common/utils/ocp_itti/intertask_interface.cpp
common/utils/ocp_itti/intertask_interface.cpp
+1
-1
common/utils/system.c
common/utils/system.c
+15
-5
common/utils/system.h
common/utils/system.h
+1
-0
executables/nr-gnb.c
executables/nr-gnb.c
+4
-12
executables/nr-ru.c
executables/nr-ru.c
+4
-30
executables/nr-softmodem.c
executables/nr-softmodem.c
+1
-5
executables/nr-softmodem.h
executables/nr-softmodem.h
+1
-1
executables/nr-ue.c
executables/nr-ue.c
+0
-6
openair1/PHY/defs_RU.h
openair1/PHY/defs_RU.h
+0
-19
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-8
openair1/PHY/thread_NR_UE.h
openair1/PHY/thread_NR_UE.h
+0
-4
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+5
-10
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+2
-1
openair1/SCHED_NR/sched_nr.h
openair1/SCHED_NR/sched_nr.h
+1
-1
openair2/ENB_APP/flexran_agent.c
openair2/ENB_APP/flexran_agent.c
+0
-1
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+0
-1
openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
+1
-19
openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
+0
-1
openair2/RRC/LTE/rrc_UE.c
openair2/RRC/LTE/rrc_UE.c
+0
-2
openair2/UTIL/ASYNC_IF/link_manager.c
openair2/UTIL/ASYNC_IF/link_manager.c
+2
-3
openair3/NAS/COMMON/UTIL/nas_timer.c
openair3/NAS/COMMON/UTIL/nas_timer.c
+2
-12
openair3/NAS/UE/UEprocess.c
openair3/NAS/UE/UEprocess.c
+0
-7
No files found.
common/utils/ocp_itti/intertask_interface.cpp
View file @
4d787625
...
@@ -281,7 +281,7 @@ extern "C" {
...
@@ -281,7 +281,7 @@ extern "C" {
int
itti_create_task
(
task_id_t
task_id
,
void
*
(
*
start_routine
)(
void
*
),
void
*
args_p
)
{
int
itti_create_task
(
task_id_t
task_id
,
void
*
(
*
start_routine
)(
void
*
),
void
*
args_p
)
{
task_list_t
*
t
=&
tasks
[
task_id
];
task_list_t
*
t
=&
tasks
[
task_id
];
threadCreate
(
&
t
->
thread
,
start_routine
,
args_p
,
itti_get_task_name
(
task_id
),
-
1
,
OAI_PRIORITY_RT
);
threadCreate
(
&
t
->
thread
,
start_routine
,
args_p
,
(
char
*
)
itti_get_task_name
(
task_id
),
-
1
,
OAI_PRIORITY_RT
);
LOG_I
(
TMR
,
"Created Posix thread %s
\n
"
,
itti_get_task_name
(
task_id
)
);
LOG_I
(
TMR
,
"Created Posix thread %s
\n
"
,
itti_get_task_name
(
task_id
)
);
return
0
;
return
0
;
}
}
...
...
common/utils/system.c
View file @
4d787625
...
@@ -239,17 +239,27 @@ void thread_top_init(char *thread_name,
...
@@ -239,17 +239,27 @@ void thread_top_init(char *thread_name,
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
}
}
void
threadTopInit
(
const
char
*
name
,
const
int
affinity
,
const
int
priority
){
void
threadCreate
(
pthread_t
*
t
,
void
*
(
*
func
)(
void
*
),
void
*
param
,
char
*
name
,
int
affinity
,
int
priority
){
struct
sched_param
sparam
=
{
0
};
pthread_attr_t
attr
;
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
pthread_attr_setinheritsched
(
&
attr
,
PTHREAD_EXPLICIT_SCHED
);
pthread_attr_setschedpolicy
(
&
attr
,
SCHED_FIFO
);
struct
sched_param
sparam
=
{
0
};
sparam
.
sched_priority
=
priority
;
sparam
.
sched_priority
=
priority
;
AssertFatal
(
pthread_setschedparam
(
pthread_self
(),
SCHED_FIFO
,
&
sparam
)
==
0
,
"Error setting thread priority"
);
pthread_attr_setschedparam
(
&
attr
,
&
sparam
);
pthread_setname_np
(
pthread_self
(),
name
);
pthread_create
(
t
,
&
attr
,
func
,
param
);
pthread_setname_np
(
*
t
,
name
);
if
(
affinity
!=
-
1
)
{
if
(
affinity
!=
-
1
)
{
cpu_set_t
cpuset
;
cpu_set_t
cpuset
;
CPU_ZERO
(
&
cpuset
);
CPU_ZERO
(
&
cpuset
);
CPU_SET
(
affinity
,
&
cpuset
);
CPU_SET
(
affinity
,
&
cpuset
);
AssertFatal
(
pthread_setaffinity_np
(
pthread_self
()
,
sizeof
(
cpu_set_t
),
&
cpuset
)
==
0
,
"Error setting processor affinity"
);
AssertFatal
(
pthread_setaffinity_np
(
*
t
,
sizeof
(
cpu_set_t
),
&
cpuset
)
==
0
,
"Error setting processor affinity"
);
}
}
pthread_attr_destroy
(
&
attr
);
}
}
// Block CPU C-states deep sleep
// Block CPU C-states deep sleep
...
...
common/utils/system.h
View file @
4d787625
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
#ifndef _SYSTEM_H_OAI_
#ifndef _SYSTEM_H_OAI_
#define _SYSTEM_H_OAI_
#define _SYSTEM_H_OAI_
#include <stdint.h>
#include <stdint.h>
#include <pthread.h>
#ifdef __cplusplus
#ifdef __cplusplus
extern
"C"
{
extern
"C"
{
#endif
#endif
...
...
executables/nr-gnb.c
View file @
4d787625
...
@@ -38,6 +38,8 @@
...
@@ -38,6 +38,8 @@
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
#undef MALLOC //there are two conflicting definitions, so we better make sure we don't use it at all
#include "assertions.h"
#include "assertions.h"
#include <common/utils/LOG/log.h>
#include <common/utils/system.h>
#include "PHY/types.h"
#include "PHY/types.h"
...
@@ -676,8 +678,8 @@ static void* gNB_thread_prach( void* param ) {
...
@@ -676,8 +678,8 @@ static void* gNB_thread_prach( void* param ) {
}
}
*/
*/
extern
void
init_td_thread
(
PHY_VARS_gNB
*
,
pthread_attr_t
*
);
extern
void
init_td_thread
(
PHY_VARS_gNB
*
);
extern
void
init_te_thread
(
PHY_VARS_gNB
*
,
pthread_attr_t
*
);
extern
void
init_te_thread
(
PHY_VARS_gNB
*
);
void
init_gNB_proc
(
int
inst
)
{
void
init_gNB_proc
(
int
inst
)
{
int
i
=
0
;
int
i
=
0
;
...
@@ -685,8 +687,6 @@ void init_gNB_proc(int inst) {
...
@@ -685,8 +687,6 @@ void init_gNB_proc(int inst) {
PHY_VARS_gNB
*
gNB
;
PHY_VARS_gNB
*
gNB
;
gNB_L1_proc_t
*
proc
;
gNB_L1_proc_t
*
proc
;
gNB_L1_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
gNB_L1_rxtx_proc_t
*
L1_proc
,
*
L1_proc_tx
;
pthread_attr_t
*
attr0
=
NULL
,
*
attr1
=
NULL
;
//*attr_prach=NULL;
LOG_I
(
PHY
,
"%s(inst:%d) RC.nb_nr_CC[inst]:%d
\n
"
,
__FUNCTION__
,
inst
,
RC
.
nb_nr_CC
[
inst
]);
LOG_I
(
PHY
,
"%s(inst:%d) RC.nb_nr_CC[inst]:%d
\n
"
,
__FUNCTION__
,
inst
,
RC
.
nb_nr_CC
[
inst
]);
for
(
CC_id
=
0
;
CC_id
<
RC
.
nb_nr_CC
[
inst
];
CC_id
++
)
{
for
(
CC_id
=
0
;
CC_id
<
RC
.
nb_nr_CC
[
inst
];
CC_id
++
)
{
...
@@ -721,14 +721,6 @@ void init_gNB_proc(int inst) {
...
@@ -721,14 +721,6 @@ void init_gNB_proc(int inst) {
pthread_mutex_init
(
&
proc
->
mutex_RU_PRACH
,
NULL
);
pthread_mutex_init
(
&
proc
->
mutex_RU_PRACH
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_prach
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_prach
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_asynch_rxtx
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_asynch_rxtx
,
NULL
);
pthread_attr_init
(
&
proc
->
attr_prach
);
pthread_attr_init
(
&
proc
->
attr_asynch_rxtx
);
// pthread_attr_init( &proc->attr_td);
// pthread_attr_init( &proc->attr_te);
pthread_attr_init
(
&
L1_proc
->
attr
);
pthread_attr_init
(
&
L1_proc_tx
->
attr
);
attr0
=
&
L1_proc
->
attr
;
attr1
=
&
L1_proc_tx
->
attr
;
LOG_I
(
PHY
,
"gNB->single_thread_flag:%d
\n
"
,
gNB
->
single_thread_flag
);
LOG_I
(
PHY
,
"gNB->single_thread_flag:%d
\n
"
,
gNB
->
single_thread_flag
);
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
{
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
{
...
...
executables/nr-ru.c
View file @
4d787625
...
@@ -604,7 +604,6 @@ static void *emulatedRF_thread(void *param) {
...
@@ -604,7 +604,6 @@ static void *emulatedRF_thread(void *param) {
struct
timespec
req
=
{
0
};
struct
timespec
req
=
{
0
};
req
.
tv_sec
=
0
;
req
.
tv_sec
=
0
;
req
.
tv_nsec
=
(
numerology
>
0
)
?
((
microsec
*
1000L
)
/
numerology
)
:
(
microsec
*
1000L
)
*
2
;
req
.
tv_nsec
=
(
numerology
>
0
)
?
((
microsec
*
1000L
)
/
numerology
)
:
(
microsec
*
1000L
)
*
2
;
threadTopInit
(
"emulatedRF"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
wait_sync
(
"emulatedRF_thread"
);
wait_sync
(
"emulatedRF_thread"
);
while
(
!
oai_exit
)
{
while
(
!
oai_exit
)
{
...
@@ -1592,17 +1591,12 @@ extern void ru_fep_full_2thread(RU_t *ru);
...
@@ -1592,17 +1591,12 @@ extern void ru_fep_full_2thread(RU_t *ru);
extern
void
nr_feptx_ofdm
(
RU_t
*
ru
);
extern
void
nr_feptx_ofdm
(
RU_t
*
ru
);
extern
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
);
extern
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
);
extern
void
feptx_prec
(
RU_t
*
ru
);
extern
void
feptx_prec
(
RU_t
*
ru
);
extern
void
init_fep_thread
(
RU_t
*
ru
,
pthread_attr_t
*
attr
);
extern
void
init_fep_thread
(
RU_t
*
ru
);
extern
void
init_nr_feptx_thread
(
RU_t
*
ru
,
pthread_attr_t
*
attr
);
extern
void
init_nr_feptx_thread
(
RU_t
*
ru
);
void
init_RU_proc
(
RU_t
*
ru
)
{
void
init_RU_proc
(
RU_t
*
ru
)
{
int
i
=
0
;
int
i
=
0
;
RU_proc_t
*
proc
;
RU_proc_t
*
proc
;
pthread_attr_t
*
attr_FH
=
NULL
,
*
attr_FH1
=
NULL
,
*
attr_prach
=
NULL
,
*
attr_asynch
=
NULL
,
*
attr_emulateRF
=
NULL
;
// *attr_synch=NULL;
//pthread_attr_t *attr_fep=NULL;
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
//pthread_attr_t *attr_prach_br=NULL;
#endif
char
name
[
100
];
char
name
[
100
];
#ifndef OCP_FRAMEWORK
#ifndef OCP_FRAMEWORK
LOG_I
(
PHY
,
"Initializing RU proc %d (%s,%s),
\n
"
,
ru
->
idx
,
NB_functions
[
ru
->
function
],
NB_timing
[
ru
->
if_timing
]);
LOG_I
(
PHY
,
"Initializing RU proc %d (%s,%s),
\n
"
,
ru
->
idx
,
NB_functions
[
ru
->
function
],
NB_timing
[
ru
->
if_timing
]);
...
@@ -1639,21 +1633,6 @@ void init_RU_proc(RU_t *ru) {
...
@@ -1639,21 +1633,6 @@ void init_RU_proc(RU_t *ru) {
pthread_cond_init
(
&
proc
->
cond_asynch_rxtx
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_asynch_rxtx
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_synch
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_synch
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_gNBs
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_gNBs
,
NULL
);
pthread_attr_init
(
&
proc
->
attr_FH
);
pthread_attr_init
(
&
proc
->
attr_FH1
);
pthread_attr_init
(
&
proc
->
attr_emulateRF
);
pthread_attr_init
(
&
proc
->
attr_prach
);
pthread_attr_init
(
&
proc
->
attr_synch
);
pthread_attr_init
(
&
proc
->
attr_asynch_rxtx
);
pthread_attr_init
(
&
proc
->
attr_fep
);
#ifndef DEADLINE_SCHEDULER
attr_FH
=
&
proc
->
attr_FH
;
attr_FH1
=
&
proc
->
attr_FH1
;
attr_emulateRF
=
&
proc
->
attr_emulateRF
;
attr_prach
=
&
proc
->
attr_prach
;
//attr_synch = &proc->attr_synch;
attr_asynch
=
&
proc
->
attr_asynch_rxtx
;
#endif
threadCreate
(
&
proc
->
pthread_FH
,
ru_thread
,
(
void
*
)
ru
,
"thread_FH"
,
-
1
,
OAI_PRIORITY_RT
);
threadCreate
(
&
proc
->
pthread_FH
,
ru_thread
,
(
void
*
)
ru
,
"thread_FH"
,
-
1
,
OAI_PRIORITY_RT
);
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_SPLIT
||
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
)
...
@@ -1679,9 +1658,9 @@ void init_RU_proc(RU_t *ru) {
...
@@ -1679,9 +1658,9 @@ void init_RU_proc(RU_t *ru) {
}
}
if
(
get_nprocs
()
>=
2
)
{
if
(
get_nprocs
()
>=
2
)
{
if
(
ru
->
feprx
)
init_fep_thread
(
ru
,
NULL
);
if
(
ru
->
feprx
)
init_fep_thread
(
ru
);
if
(
ru
->
feptx_ofdm
)
nr_init_feptx_thread
(
ru
,
NULL
);
if
(
ru
->
feptx_ofdm
)
nr_init_feptx_thread
(
ru
);
}
}
if
(
opp_enabled
==
1
)
threadCreate
(
&
ru
->
ru_stats_thread
,
ru_stats_thread
,(
void
*
)
ru
,
"emulateRF"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
if
(
opp_enabled
==
1
)
threadCreate
(
&
ru
->
ru_stats_thread
,
ru_stats_thread
,(
void
*
)
ru
,
"emulateRF"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
...
@@ -1769,11 +1748,6 @@ void kill_RU_proc(int inst) {
...
@@ -1769,11 +1748,6 @@ void kill_RU_proc(int inst) {
pthread_cond_destroy
(
&
proc
->
cond_asynch_rxtx
);
pthread_cond_destroy
(
&
proc
->
cond_asynch_rxtx
);
pthread_cond_destroy
(
&
proc
->
cond_synch
);
pthread_cond_destroy
(
&
proc
->
cond_synch
);
pthread_cond_destroy
(
&
proc
->
cond_gNBs
);
pthread_cond_destroy
(
&
proc
->
cond_gNBs
);
pthread_attr_destroy
(
&
proc
->
attr_FH
);
pthread_attr_destroy
(
&
proc
->
attr_prach
);
pthread_attr_destroy
(
&
proc
->
attr_synch
);
pthread_attr_destroy
(
&
proc
->
attr_asynch_rxtx
);
pthread_attr_destroy
(
&
proc
->
attr_fep
);
}
}
int
check_capabilities
(
RU_t
*
ru
,
RRU_capabilities_t
*
cap
)
{
int
check_capabilities
(
RU_t
*
ru
,
RRU_capabilities_t
*
cap
)
{
...
...
executables/nr-softmodem.c
View file @
4d787625
...
@@ -394,7 +394,6 @@ void reset_stats(FL_OBJECT *button, long arg) {
...
@@ -394,7 +394,6 @@ void reset_stats(FL_OBJECT *button, long arg) {
}
}
static
void
*
scope_thread
(
void
*
arg
)
{
static
void
*
scope_thread
(
void
*
arg
)
{
threadTopInit
(
"scope"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
int
UE_id
,
CC_id
;
int
UE_id
,
CC_id
;
int
ue_cnt
=
0
;
int
ue_cnt
=
0
;
# ifdef ENABLE_XFORMS_WRITE_STATS
# ifdef ENABLE_XFORMS_WRITE_STATS
...
@@ -1065,10 +1064,7 @@ int main( int argc, char **argv ) {
...
@@ -1065,10 +1064,7 @@ int main( int argc, char **argv ) {
}
// CC_id
}
// CC_id
}
// UE_id
}
// UE_id
ret
=
threadCreate
(
&
forms_thread
,
scope_thread
,
NULL
,
"scope"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
threadCreate
(
&
forms_thread
,
scope_thread
,
NULL
,
"scope"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
if
(
ret
==
0
)
pthread_setname_np
(
forms_thread
,
"xforms"
);
printf
(
"Scope thread created, ret=%d
\n
"
,
ret
);
printf
(
"Scope thread created, ret=%d
\n
"
,
ret
);
}
}
...
...
executables/nr-softmodem.h
View file @
4d787625
...
@@ -240,7 +240,7 @@ extern void set_function_spec_param(RU_t *ru);
...
@@ -240,7 +240,7 @@ extern void set_function_spec_param(RU_t *ru);
extern
void
reset_opp_meas
(
void
);
extern
void
reset_opp_meas
(
void
);
extern
void
print_opp_meas
(
void
);
extern
void
print_opp_meas
(
void
);
extern
void
init_fep_thread
(
PHY_VARS_gNB
*
,
pthread_attr_t
*
);
extern
void
init_fep_thread
(
PHY_VARS_gNB
*
);
void
init_gNB_afterRU
(
void
);
void
init_gNB_afterRU
(
void
);
...
...
executables/nr-ue.c
View file @
4d787625
...
@@ -538,7 +538,6 @@ int computeSamplesShift(PHY_VARS_NR_UE *UE) {
...
@@ -538,7 +538,6 @@ int computeSamplesShift(PHY_VARS_NR_UE *UE) {
void
*
UE_thread
(
void
*
arg
)
{
void
*
UE_thread
(
void
*
arg
)
{
//this thread should be over the processing thread to keep in real time
//this thread should be over the processing thread to keep in real time
threadTopInit
(
"UE_IQ"
,
1
,
OAI_PRIORITY_RT_MAX
);
PHY_VARS_NR_UE
*
UE
=
(
PHY_VARS_NR_UE
*
)
arg
;
PHY_VARS_NR_UE
*
UE
=
(
PHY_VARS_NR_UE
*
)
arg
;
// int tx_enabled = 0;
// int tx_enabled = 0;
openair0_timestamp
timestamp
;
openair0_timestamp
timestamp
;
...
@@ -741,11 +740,6 @@ void init_UE(int nb_inst) {
...
@@ -741,11 +740,6 @@ void init_UE(int nb_inst) {
int
inst
;
int
inst
;
NR_UE_MAC_INST_t
*
mac_inst
;
NR_UE_MAC_INST_t
*
mac_inst
;
pthread_t
threads
[
nb_inst
];
pthread_t
threads
[
nb_inst
];
pthread_attr_t
attr
;
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
pthread_attr_setinheritsched
(
&
attr
,
PTHREAD_EXPLICIT_SCHED
);
pthread_attr_setschedpolicy
(
&
attr
,
SCHED_FIFO
);
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
...
...
openair1/PHY/defs_RU.h
View file @
4d787625
...
@@ -191,25 +191,6 @@ typedef struct RU_proc_t_s {
...
@@ -191,25 +191,6 @@ typedef struct RU_proc_t_s {
int
first_rx
;
int
first_rx
;
/// flag to indicate first TX transmission
/// flag to indicate first TX transmission
int
first_tx
;
int
first_tx
;
/// pthread attributes for RU FH processing thread
pthread_attr_t
attr_FH
;
pthread_attr_t
attr_FH1
;
/// pthread attributes for RU prach
pthread_attr_t
attr_prach
;
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// pthread attributes for RU prach BL/CE UEs
pthread_attr_t
attr_prach_br
;
#endif
/// pthread attributes for RU synch thread
pthread_attr_t
attr_synch
;
/// pthread attributes for asynchronous RX thread
pthread_attr_t
attr_asynch_rxtx
;
/// pthread attributes for worker fep thread
pthread_attr_t
attr_fep
;
/// pthread attributes for worker feptx thread
pthread_attr_t
attr_feptx
;
/// pthread attributes for emulated RF
pthread_attr_t
attr_emulateRF
;
/// scheduling parameters for RU FH thread
/// scheduling parameters for RU FH thread
struct
sched_param
sched_param_FH
;
struct
sched_param
sched_param_FH
;
struct
sched_param
sched_param_FH1
;
struct
sched_param
sched_param_FH1
;
...
...
openair1/PHY/defs_gNB.h
View file @
4d787625
...
@@ -373,8 +373,6 @@ typedef struct {
...
@@ -373,8 +373,6 @@ typedef struct {
int
instance_cnt
;
int
instance_cnt
;
/// pthread structure for RXn-TXnp4 processing thread
/// pthread structure for RXn-TXnp4 processing thread
pthread_t
pthread
;
pthread_t
pthread
;
/// pthread attributes for RXn-TXnp4 processing thread
pthread_attr_t
attr
;
/// condition variable for tx processing thread
/// condition variable for tx processing thread
pthread_cond_t
cond
;
pthread_cond_t
cond
;
/// mutex for RXn-TXnp4 processing thread
/// mutex for RXn-TXnp4 processing thread
...
@@ -430,12 +428,6 @@ typedef struct gNB_L1_proc_t_s {
...
@@ -430,12 +428,6 @@ typedef struct gNB_L1_proc_t_s {
int
first_rx
;
int
first_rx
;
/// flag to indicate first TX transmission
/// flag to indicate first TX transmission
int
first_tx
;
int
first_tx
;
/// pthread attributes for single gNB processing thread
pthread_attr_t
attr_single
;
/// pthread attributes for prach processing thread
pthread_attr_t
attr_prach
;
/// pthread attributes for asynchronous RX thread
pthread_attr_t
attr_asynch_rxtx
;
/// scheduling parameters for parallel turbo-decoder thread
/// scheduling parameters for parallel turbo-decoder thread
struct
sched_param
sched_param_td
;
struct
sched_param
sched_param_td
;
/// scheduling parameters for parallel turbo-encoder thread
/// scheduling parameters for parallel turbo-encoder thread
...
...
openair1/PHY/thread_NR_UE.h
View file @
4d787625
...
@@ -32,8 +32,6 @@ typedef struct {
...
@@ -32,8 +32,6 @@ typedef struct {
//pthread_t pthread_slot0_dl_processing;
//pthread_t pthread_slot0_dl_processing;
pthread_t
pthread_slot1_dl_processing
;
pthread_t
pthread_slot1_dl_processing
;
/// pthread attributes for fep_slot1 processing thread
/// pthread attributes for fep_slot1 processing thread
// pthread_attr_t attr_slot0_dl_processing;
pthread_attr_t
attr_slot1_dl_processing
;
/// condition variable for UE fep_slot1 thread;
/// condition variable for UE fep_slot1 thread;
//pthread_cond_t cond_slot0_dl_processing;
//pthread_cond_t cond_slot0_dl_processing;
pthread_cond_t
cond_slot1_dl_processing
;
pthread_cond_t
cond_slot1_dl_processing
;
...
@@ -46,8 +44,6 @@ typedef struct {
...
@@ -46,8 +44,6 @@ typedef struct {
//pthread_t pthread_slot0_dl_processing;
//pthread_t pthread_slot0_dl_processing;
pthread_t
pthread_dlsch_td
;
pthread_t
pthread_dlsch_td
;
/// pthread attributes for fep_slot1 processing thread
/// pthread attributes for fep_slot1 processing thread
// pthread_attr_t attr_slot0_dl_processing;
pthread_attr_t
attr_dlsch_td
;
/// condition variable for UE fep_slot1 thread;
/// condition variable for UE fep_slot1 thread;
//pthread_cond_t cond_slot0_dl_processing;
//pthread_cond_t cond_slot0_dl_processing;
pthread_cond_t
cond_dlsch_td
;
pthread_cond_t
cond_dlsch_td
;
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
4d787625
...
@@ -38,6 +38,7 @@
...
@@ -38,6 +38,7 @@
#include "nfapi_interface.h"
#include "nfapi_interface.h"
#include "fapi_l1.h"
#include "fapi_l1.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/log.h"
#include <common/utils/system.h>
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "assertions.h"
#include "assertions.h"
...
@@ -1473,11 +1474,7 @@ void init_td_thread(PHY_VARS_eNB *eNB) {
...
@@ -1473,11 +1474,7 @@ void init_td_thread(PHY_VARS_eNB *eNB) {
proc
->
tdp
.
eNB
=
eNB
;
proc
->
tdp
.
eNB
=
eNB
;
proc
->
instance_cnt_td
=
-
1
;
proc
->
instance_cnt_td
=
-
1
;
pthread_attr_init
(
&
proc
->
attr_td
);
threadCreate
(
&
proc
->
pthread_td
,
td_thread
,
(
void
*
)
&
proc
->
tdp
,
"TD"
,
-
1
,
OAI_PRIORITY_RT
);
pthread_mutex_init
(
&
proc
->
mutex_td
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_td
,
NULL
);
pthread_create
(
&
proc
->
pthread_td
,
&
proc
->
attr_td
,
td_thread
,
(
void
*
)
&
proc
->
tdp
);
}
}
void
kill_td_thread
(
PHY_VARS_eNB
*
eNB
)
{
void
kill_td_thread
(
PHY_VARS_eNB
*
eNB
)
{
...
@@ -1501,12 +1498,10 @@ void init_te_thread(PHY_VARS_eNB *eNB) {
...
@@ -1501,12 +1498,10 @@ void init_te_thread(PHY_VARS_eNB *eNB) {
proc
->
tep
[
i
].
eNB
=
eNB
;
proc
->
tep
[
i
].
eNB
=
eNB
;
proc
->
tep
[
i
].
instance_cnt_te
=
-
1
;
proc
->
tep
[
i
].
instance_cnt_te
=
-
1
;
pthread_mutex_init
(
&
proc
->
tep
[
i
].
mutex_te
,
NULL
);
pthread_cond_init
(
&
proc
->
tep
[
i
].
cond_te
,
NULL
);
pthread_attr_init
(
&
proc
->
tep
[
i
].
attr_te
);
LOG_I
(
PHY
,
"Creating te_thread %d
\n
"
,
i
);
LOG_I
(
PHY
,
"Creating te_thread %d
\n
"
,
i
);
pthread_create
(
&
proc
->
tep
[
i
].
pthread_te
,
&
proc
->
tep
[
i
].
attr_te
,
te_thread
,
(
void
*
)
&
proc
->
tep
[
i
]);
char
txt
[
128
];
sprintf
(
txt
,
"TE_%d"
,
i
);
threadCreate
(
&
proc
->
tep
[
i
].
pthread_te
,
te_thread
,
(
void
*
)
&
proc
->
tep
[
i
],
txt
,
-
1
,
OAI_PRIORITY_RT
);
}
}
}
}
void
kill_te_thread
(
PHY_VARS_eNB
*
eNB
)
{
void
kill_te_thread
(
PHY_VARS_eNB
*
eNB
)
{
...
...
openair1/SCHED_NR/nr_ru_procedures.c
View file @
4d787625
...
@@ -41,6 +41,7 @@
...
@@ -41,6 +41,7 @@
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac.h"
#include "LAYER2/MAC/mac.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/log.h"
#include "common/utils/system.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "T.h"
#include "T.h"
...
@@ -196,7 +197,7 @@ static void *nr_feptx_thread(void *param) {
...
@@ -196,7 +197,7 @@ static void *nr_feptx_thread(void *param) {
return
(
NULL
);
return
(
NULL
);
}
}
void
nr_init_feptx_thread
(
RU_t
*
ru
,
pthread_attr_t
*
attr_feptx
)
{
void
nr_init_feptx_thread
(
RU_t
*
ru
)
{
RU_proc_t
*
proc
=
&
ru
->
proc
;
RU_proc_t
*
proc
=
&
ru
->
proc
;
...
...
openair1/SCHED_NR/sched_nr.h
View file @
4d787625
...
@@ -38,7 +38,7 @@ nr_slot_t nr_slot_select (nfapi_nr_config_request_t *cfg, unsigned char slot);
...
@@ -38,7 +38,7 @@ nr_slot_t nr_slot_select (nfapi_nr_config_request_t *cfg, unsigned char slot);
void
nr_set_ssb_first_subcarrier
(
nfapi_nr_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
);
void
nr_set_ssb_first_subcarrier
(
nfapi_nr_config_request_t
*
cfg
,
NR_DL_FRAME_PARMS
*
fp
);
void
phy_procedures_gNB_TX
(
PHY_VARS_gNB
*
gNB
,
gNB_L1_rxtx_proc_t
*
proc
,
int
do_meas
);
void
phy_procedures_gNB_TX
(
PHY_VARS_gNB
*
gNB
,
gNB_L1_rxtx_proc_t
*
proc
,
int
do_meas
);
void
nr_common_signal_procedures
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
);
void
nr_common_signal_procedures
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
);
void
nr_init_feptx_thread
(
RU_t
*
ru
,
pthread_attr_t
*
attr_feptx
);
void
nr_init_feptx_thread
(
RU_t
*
ru
);
void
nr_feptx_ofdm
(
RU_t
*
ru
);
void
nr_feptx_ofdm
(
RU_t
*
ru
);
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
);
void
nr_feptx_ofdm_2thread
(
RU_t
*
ru
);
void
nr_feptx0
(
RU_t
*
ru
,
int
first_symbol
,
int
num_symbols
);
void
nr_feptx0
(
RU_t
*
ru
,
int
first_symbol
,
int
num_symbols
);
...
...
openair2/ENB_APP/flexran_agent.c
View file @
4d787625
...
@@ -102,7 +102,6 @@ void *flexran_agent_task(void *args){
...
@@ -102,7 +102,6 @@ void *flexran_agent_task(void *args){
}
}
void
*
receive_thread
(
void
*
args
)
{
void
*
receive_thread
(
void
*
args
)
{
threadTopInit
(
"flexran"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
flexran_agent_info_t
*
d
=
args
;
flexran_agent_info_t
*
d
=
args
;
void
*
data
;
void
*
data
;
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
View file @
4d787625
...
@@ -53,7 +53,6 @@
...
@@ -53,7 +53,6 @@
extern
pthread_t
pdcp_thread
;
extern
pthread_t
pdcp_thread
;
extern
pthread_attr_t
pdcp_thread_attr
;
extern
pthread_mutex_t
pdcp_mutex
;
extern
pthread_mutex_t
pdcp_mutex
;
extern
pthread_cond_t
pdcp_cond
;
extern
pthread_cond_t
pdcp_cond
;
extern
int
pdcp_instance_cnt
;
extern
int
pdcp_instance_cnt
;
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp_netlink.c
View file @
4d787625
...
@@ -97,8 +97,6 @@ pdcp_netlink_init(
...
@@ -97,8 +97,6 @@ pdcp_netlink_init(
int
i
;
int
i
;
int
nb_inst_enb
;
int
nb_inst_enb
;
int
nb_inst_ue
;
int
nb_inst_ue
;
pthread_attr_t
attr
;
struct
sched_param
sched_param
;
reset_meas
(
&
ip_pdcp_stats_tmp
);
reset_meas
(
&
ip_pdcp_stats_tmp
);
nb_inst_enb
=
1
;
nb_inst_enb
=
1
;
...
@@ -141,28 +139,12 @@ pdcp_netlink_init(
...
@@ -141,28 +139,12 @@ pdcp_netlink_init(
}
}
if
((
nb_inst_ue
+
nb_inst_enb
)
>
0
)
{
if
((
nb_inst_ue
+
nb_inst_enb
)
>
0
)
{
if
(
pthread_attr_init
(
&
attr
)
!=
0
)
{
LOG_E
(
PDCP
,
"[NETLINK]Failed to initialize pthread attribute for Netlink -> PDCP communication (%d:%s)
\n
"
,
errno
,
strerror
(
errno
));
exit
(
EXIT_FAILURE
);
}
sched_param
.
sched_priority
=
10
;
pthread_attr_setschedpolicy
(
&
attr
,
SCHED_RR
);
pthread_attr_setschedparam
(
&
attr
,
&
sched_param
);
/* Create one thread that fetchs packets from the netlink.
/* Create one thread that fetchs packets from the netlink.
* When the netlink fifo is full, packets are silently dropped, this behaviour
* When the netlink fifo is full, packets are silently dropped, this behaviour
* should be avoided if we want a reliable link.
* should be avoided if we want a reliable link.
*/
*/
if
(
pthread_create
(
&
pdcp_netlink_thread
,
&
attr
,
pdcp_netlink_thread_fct
,
NULL
)
!=
0
)
{
threadCreate
(
&
pdcp_netlink_thread
,
pdcp_netlink_thread_fct
,
"PDCP netlink"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
LOG_E
(
PDCP
,
"[NETLINK]Failed to create new thread for Netlink/PDCP communication (%d:%s)
\n
"
,
errno
,
strerror
(
errno
));
exit
(
EXIT_FAILURE
);
}
pthread_setname_np
(
pdcp_netlink_thread
,
"PDCP netlink"
);
}
}
return
0
;
return
0
;
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp_thread.c
View file @
4d787625
...
@@ -45,7 +45,6 @@ extern int oai_exit;
...
@@ -45,7 +45,6 @@ extern int oai_exit;
extern
char
UE_flag
;
extern
char
UE_flag
;
pthread_t
pdcp_thread
;
pthread_t
pdcp_thread
;
pthread_attr_t
pdcp_thread_attr
;
pthread_mutex_t
pdcp_mutex
;
pthread_mutex_t
pdcp_mutex
;
pthread_cond_t
pdcp_cond
;
pthread_cond_t
pdcp_cond
;
int
pdcp_instance_cnt
;
int
pdcp_instance_cnt
;
...
...
openair2/RRC/LTE/rrc_UE.c
View file @
4d787625
...
@@ -5477,7 +5477,6 @@ rrc_ue_process_sidelink_radioResourceConfig(
...
@@ -5477,7 +5477,6 @@ rrc_ue_process_sidelink_radioResourceConfig(
void
rrc_control_socket_init
(){
void
rrc_control_socket_init
(){
struct
sockaddr_in
rrc_ctrl_socket_addr
;
struct
sockaddr_in
rrc_ctrl_socket_addr
;
pthread_attr_t
attr
;
int
optval
;
// flag value for setsockopt
int
optval
;
// flag value for setsockopt
//int n; // message byte size
//int n; // message byte size
...
@@ -5506,7 +5505,6 @@ void rrc_control_socket_init(){
...
@@ -5506,7 +5505,6 @@ void rrc_control_socket_init(){
exit
(
1
);
exit
(
1
);
}
}
threadTopInit
(
"RRC Control Socket"
,
-
1
,
OAI_PRIORITY_RT
);
pthread_t
rrc_control_socket_thread
;
pthread_t
rrc_control_socket_thread
;
threadCreate
(
&
rrc_control_socket_thread
,
rrc_control_socket_thread_fct
,
NULL
,
"RRC/ProSeApp"
,
-
1
,
OAI_PRIORITY_RT
);
threadCreate
(
&
rrc_control_socket_thread
,
rrc_control_socket_thread_fct
,
NULL
,
"RRC/ProSeApp"
,
-
1
,
OAI_PRIORITY_RT
);
...
...
openair2/UTIL/ASYNC_IF/link_manager.c
View file @
4d787625
...
@@ -30,6 +30,7 @@
...
@@ -30,6 +30,7 @@
#include "link_manager.h"
#include "link_manager.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/log.h"
#include <common/utils/assertions.h>
#include <common/utils/system.h>
#include <common/utils/system.h>
#include <stdio.h>
#include <stdio.h>
...
@@ -104,9 +105,7 @@ link_manager_t *create_link_manager(
...
@@ -104,9 +105,7 @@ link_manager_t *create_link_manager(
LOG_D
(
MAC
,
"create new link manager
\n
"
);
LOG_D
(
MAC
,
"create new link manager
\n
"
);
ret
=
calloc
(
1
,
sizeof
(
link_manager_t
));
AssertFatal
(
(
ret
=
calloc
(
1
,
sizeof
(
link_manager_t
)))
!=
NULL
,
""
);
if
(
ret
==
NULL
)
goto
error
;
ret
->
send_queue
=
send_queue
;
ret
->
send_queue
=
send_queue
;
ret
->
receive_queue
=
receive_queue
;
ret
->
receive_queue
=
receive_queue
;
...
...
openair3/NAS/COMMON/UTIL/nas_timer.c
View file @
4d787625
...
@@ -397,24 +397,14 @@ static void _nas_timer_handler(int signal)
...
@@ -397,24 +397,14 @@ static void _nas_timer_handler(int signal)
/* Get the timer entry for which the system timer expired */
/* Get the timer entry for which the system timer expired */
nas_timer_entry_t
*
te
=
_nas_timer_db
.
head
->
entry
;
nas_timer_entry_t
*
te
=
_nas_timer_db
.
head
->
entry
;
/* Execute the callback function */
threadCreate
(
&
te
->
pid
,
te
->
cb
,
te
->
args
,
"nas-timer"
,
-
1
,
OAI_PRIORITY_RT_LOW
);
pthread_attr_t
attr
;
pthread_attr_init
(
&
attr
);
pthread_attr_setscope
(
&
attr
,
PTHREAD_SCOPE_SYSTEM
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_JOINABLE
);
int
rc
=
pthread_create
(
&
te
->
pid
,
&
attr
,
te
->
cb
,
te
->
args
);
pthread_attr_destroy
(
&
attr
);
/* Wait for the thread to terminate before releasing the timer entry */
if
(
rc
==
0
)
{
void
*
result
=
NULL
;
void
*
result
=
NULL
;
(
void
)
pthread_join
(
te
->
pid
,
&
result
);
(
void
)
pthread_join
(
te
->
pid
,
&
result
);
/* TODO: Check returned result ??? */
if
(
result
)
{
if
(
result
)
{
free
(
result
);
free
(
result
);
}
}
}
}
}
#endif
#endif
...
...
openair3/NAS/UE/UEprocess.c
View file @
4d787625
...
@@ -150,11 +150,6 @@ int main(int argc, const char *argv[])
...
@@ -150,11 +150,6 @@ int main(int argc, const char *argv[])
(
void
)
_nas_set_signal_handler
(
SIGINT
,
_nas_signal_handler
);
(
void
)
_nas_set_signal_handler
(
SIGINT
,
_nas_signal_handler
);
(
void
)
_nas_set_signal_handler
(
SIGTERM
,
_nas_signal_handler
);
(
void
)
_nas_set_signal_handler
(
SIGTERM
,
_nas_signal_handler
);
pthread_attr_t
attr
;
pthread_attr_init
(
&
attr
);
pthread_attr_setscope
(
&
attr
,
PTHREAD_SCOPE_SYSTEM
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
/*
/*
* Start thread use to manage the user connection endpoint
* Start thread use to manage the user connection endpoint
*/
*/
...
@@ -170,8 +165,6 @@ int main(int argc, const char *argv[])
...
@@ -170,8 +165,6 @@ int main(int argc, const char *argv[])
threadCreate
(
&
network_mngr
,
_nas_network_mngr
,
threadCreate
(
&
network_mngr
,
_nas_network_mngr
,
&
network_fd
,
"UE-nas-mgr"
,
-
1
,
OAI_PRIORITY_RT_LOW
)
;
&
network_fd
,
"UE-nas-mgr"
,
-
1
,
OAI_PRIORITY_RT_LOW
)
;
pthread_attr_destroy
(
&
attr
);
/*
/*
* Suspend execution of the main process until all connection
* Suspend execution of the main process until all connection
* endpoints are still active
* endpoints are still active
...
...
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