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
lizhongxiao
OpenXG-RAN
Commits
99fa6a9f
Commit
99fa6a9f
authored
Jun 13, 2019
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/uhd_set_thread_prio' into integration_develop-nr_2019w24
parents
b711be86
a6ecd29f
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
57 additions
and
20 deletions
+57
-20
common/utils/LOG/vcd_signal_dumper.c
common/utils/LOG/vcd_signal_dumper.c
+1
-0
common/utils/LOG/vcd_signal_dumper.h
common/utils/LOG/vcd_signal_dumper.h
+1
-0
common/utils/T/T_defs.h
common/utils/T/T_defs.h
+1
-1
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+5
-0
executables/nr-gnb.c
executables/nr-gnb.c
+0
-11
executables/nr-ru.c
executables/nr-ru.c
+6
-0
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+2
-0
targets/ARCH/COMMON/common_lib.c
targets/ARCH/COMMON/common_lib.c
+28
-4
targets/ARCH/COMMON/common_lib.h
targets/ARCH/COMMON/common_lib.h
+4
-0
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+5
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpx300.conf
+1
-1
No files found.
common/utils/LOG/vcd_signal_dumper.c
View file @
99fa6a9f
...
@@ -313,6 +313,7 @@ const char* eurecomFunctionsNames[] = {
...
@@ -313,6 +313,7 @@ const char* eurecomFunctionsNames[] = {
"phy_enb_prach_rx"
,
"phy_enb_prach_rx"
,
"phy_ru_prach_rx"
,
"phy_ru_prach_rx"
,
"phy_enb_pdcch_tx"
,
"phy_enb_pdcch_tx"
,
"phy_enb_common_tx"
,
"phy_enb_rs_tx"
,
"phy_enb_rs_tx"
,
"phy_ue_generate_prach"
,
"phy_ue_generate_prach"
,
"phy_ue_ulsch_modulation"
,
"phy_ue_ulsch_modulation"
,
...
...
common/utils/LOG/vcd_signal_dumper.h
View file @
99fa6a9f
...
@@ -292,6 +292,7 @@ typedef enum {
...
@@ -292,6 +292,7 @@ typedef enum {
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PDCCH_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_RS_TX
,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GENERATE_PRACH
,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_MODULATION
,
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_ULSCH_MODULATION
,
...
...
common/utils/T/T_defs.h
View file @
99fa6a9f
...
@@ -41,7 +41,7 @@ typedef struct {
...
@@ -41,7 +41,7 @@ typedef struct {
}
T_cache_t
;
}
T_cache_t
;
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
/* number of VCD functions (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_FUNCTIONS 192//190
#define VCD_NUM_FUNCTIONS 19
3//19
2//190
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
/* number of VCD variables (to be kept up to date! see in T_messages.txt) */
#define VCD_NUM_VARIABLES 136//128
#define VCD_NUM_VARIABLES 136//128
...
...
common/utils/T/T_messages.txt
View file @
99fa6a9f
...
@@ -2249,6 +2249,11 @@ ID = VCD_FUNCTION_PHY_ENB_PDCCH_TX
...
@@ -2249,6 +2249,11 @@ ID = VCD_FUNCTION_PHY_ENB_PDCCH_TX
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
FORMAT = int,value
VCD_NAME = phy_enb_pdcch_tx
VCD_NAME = phy_enb_pdcch_tx
ID = VCD_FUNCTION_PHY_ENB_COMMON_TX
DESC = VCD function PHY_ENB_COMMON_TX
GROUP = ALL:VCD:ENB:VCD_FUNCTION
FORMAT = int,value
VCD_NAME = phy_enb_common_tx
ID = VCD_FUNCTION_PHY_ENB_RS_TX
ID = VCD_FUNCTION_PHY_ENB_RS_TX
DESC = VCD function PHY_ENB_RS_TX
DESC = VCD function PHY_ENB_RS_TX
GROUP = ALL:VCD:ENB:VCD_FUNCTION
GROUP = ALL:VCD:ENB:VCD_FUNCTION
...
...
executables/nr-gnb.c
View file @
99fa6a9f
...
@@ -415,9 +415,6 @@ int wakeup_txfh(PHY_VARS_gNB *gNB,gNB_L1_rxtx_proc_t *proc,int frame_tx,int slot
...
@@ -415,9 +415,6 @@ int wakeup_txfh(PHY_VARS_gNB *gNB,gNB_L1_rxtx_proc_t *proc,int frame_tx,int slot
RU_proc_t
*
ru_proc
;
RU_proc_t
*
ru_proc
;
int
waitret
,
ret
;
int
waitret
,
ret
;
struct
timespec
wait
;
wait
.
tv_sec
=
0
;
wait
.
tv_nsec
=
10000000L
;
...
@@ -489,10 +486,6 @@ int wakeup_tx(PHY_VARS_gNB *gNB,int frame_rx,int slot_rx,int frame_tx,int slot_t
...
@@ -489,10 +486,6 @@ int wakeup_tx(PHY_VARS_gNB *gNB,int frame_rx,int slot_rx,int frame_tx,int slot_t
int
ret
;
int
ret
;
struct
timespec
wait
;
wait
.
tv_sec
=
0
;
wait
.
tv_nsec
=
5000000L
;
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
L1_proc_tx
->
mutex
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
L1_proc_tx
->
mutex
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
...
@@ -529,7 +522,6 @@ int wakeup_rxtx(PHY_VARS_gNB *gNB,RU_t *ru) {
...
@@ -529,7 +522,6 @@ int wakeup_rxtx(PHY_VARS_gNB *gNB,RU_t *ru) {
RU_proc_t
*
ru_proc
=&
ru
->
proc
;
RU_proc_t
*
ru_proc
=&
ru
->
proc
;
int
ret
;
int
ret
;
int
i
;
int
i
;
struct
timespec
wait
;
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
proc
->
mutex_RU
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
proc
->
mutex_RU
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
for
(
i
=
0
;
i
<
gNB
->
num_RU
;
i
++
)
{
for
(
i
=
0
;
i
<
gNB
->
num_RU
;
i
++
)
{
...
@@ -551,9 +543,6 @@ int wakeup_rxtx(PHY_VARS_gNB *gNB,RU_t *ru) {
...
@@ -551,9 +543,6 @@ int wakeup_rxtx(PHY_VARS_gNB *gNB,RU_t *ru) {
}
}
wait
.
tv_sec
=
0
;
wait
.
tv_nsec
=
5000000L
;
// wake up TX for subframe n+sl_ahead
// wake up TX for subframe n+sl_ahead
// lock the TX mutex and make sure the thread is ready
// lock the TX mutex and make sure the thread is ready
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
L1_proc
->
mutex
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
AssertFatal
((
ret
=
pthread_mutex_lock
(
&
L1_proc
->
mutex
))
==
0
,
"mutex_lock returns %d
\n
"
,
ret
);
...
...
executables/nr-ru.c
View file @
99fa6a9f
...
@@ -1209,6 +1209,12 @@ static void *ru_thread_tx( void *param ) {
...
@@ -1209,6 +1209,12 @@ static void *ru_thread_tx( void *param ) {
int
ret
;
int
ret
;
if
(
ru
->
if_south
==
LOCAL_RF
)
{
uhd_set_thread_prio
();
LOG_I
(
PHY
,
"set ru_thread_tx uhd priority"
);
}
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"
);
printf
(
"ru_thread_tx ready
\n
"
);
printf
(
"ru_thread_tx ready
\n
"
);
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
99fa6a9f
...
@@ -168,10 +168,12 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
...
@@ -168,10 +168,12 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
memset
(
gNB
->
common_vars
.
txdataF
[
aa
],
0
,
fp
->
samples_per_slot_wCP
*
sizeof
(
int32_t
));
memset
(
gNB
->
common_vars
.
txdataF
[
aa
],
0
,
fp
->
samples_per_slot_wCP
*
sizeof
(
int32_t
));
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
1
);
if
(
nfapi_mode
==
0
||
nfapi_mode
==
1
)
{
if
(
nfapi_mode
==
0
||
nfapi_mode
==
1
)
{
if
(
!
(
frame
%
ssb_frame_periodicity
))
// generate SSB only for given frames according to SSB periodicity
if
(
!
(
frame
%
ssb_frame_periodicity
))
// generate SSB only for given frames according to SSB periodicity
nr_common_signal_procedures
(
gNB
,
frame
,
slot
);
nr_common_signal_procedures
(
gNB
,
frame
,
slot
);
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_COMMON_TX
,
0
);
num_dci
=
gNB
->
pdcch_vars
.
num_dci
;
num_dci
=
gNB
->
pdcch_vars
.
num_dci
;
num_pdsch_rnti
=
gNB
->
pdcch_vars
.
num_pdsch_rnti
;
num_pdsch_rnti
=
gNB
->
pdcch_vars
.
num_pdsch_rnti
;
...
...
targets/ARCH/COMMON/common_lib.c
View file @
99fa6a9f
...
@@ -95,6 +95,8 @@ int set_transport(openair0_device *device) {
...
@@ -95,6 +95,8 @@ int set_transport(openair0_device *device) {
}
}
typedef
int
(
*
devfunc_t
)(
openair0_device
*
,
openair0_config_t
*
,
eth_params_t
*
);
typedef
int
(
*
devfunc_t
)(
openair0_device
*
,
openair0_config_t
*
,
eth_params_t
*
);
//loader_shlibfunc_t shlib_fdesc[2];
/* look for the interface library and load it */
/* look for the interface library and load it */
int
load_lib
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
cfg
,
uint8_t
flag
)
{
int
load_lib
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
,
eth_params_t
*
cfg
,
uint8_t
flag
)
{
...
@@ -107,6 +109,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
...
@@ -107,6 +109,7 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
else
else
libname
=
OAI_RF_LIBNAME
;
libname
=
OAI_RF_LIBNAME
;
shlib_fdesc
[
0
].
fname
=
"device_init"
;
shlib_fdesc
[
0
].
fname
=
"device_init"
;
//shlib_fdesc[1].fname="uhd_set_thread_priority";
}
else
{
}
else
{
libname
=
OAI_TP_LIBNAME
;
libname
=
OAI_TP_LIBNAME
;
shlib_fdesc
[
0
].
fname
=
"transport_init"
;
shlib_fdesc
[
0
].
fname
=
"transport_init"
;
...
@@ -116,11 +119,32 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
...
@@ -116,11 +119,32 @@ int load_lib(openair0_device *device, openair0_config_t *openair0_cfg, eth_param
LOG_E
(
HW
,
"Library %s couldn't be loaded
\n
"
,
libname
);
LOG_E
(
HW
,
"Library %s couldn't be loaded
\n
"
,
libname
);
}
else
{
}
else
{
ret
=
((
devfunc_t
)
shlib_fdesc
[
0
].
fptr
)(
device
,
openair0_cfg
,
cfg
);
ret
=
((
devfunc_t
)
shlib_fdesc
[
0
].
fptr
)(
device
,
openair0_cfg
,
cfg
);
//uhd_set_thread_priority_fun = (set_prio_func_t)shlib_fdesc[1].fptr;
}
}
return
ret
;
return
ret
;
}
}
void
uhd_set_thread_prio
(
void
)
{
loader_shlibfunc_t
shlib_fdesc
[
1
];
int
ret
=
0
;
char
*
libname
;
if
(
getenv
(
"RFSIMULATOR"
)
!=
NULL
)
libname
=
"rfsimulator"
;
else
libname
=
OAI_RF_LIBNAME
;
shlib_fdesc
[
0
].
fname
=
"uhd_set_thread_priority"
;
ret
=
load_module_shlib
(
libname
,
shlib_fdesc
,
1
,
NULL
);
if
(
ret
<
0
)
{
LOG_E
(
HW
,
"Library %s couldn't be loaded
\n
"
,
libname
);
}
else
{
(
set_prio_func_t
)
shlib_fdesc
[
0
].
fptr
();
}
return
ret
;
}
int
openair0_device_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
)
{
int
openair0_device_load
(
openair0_device
*
device
,
openair0_config_t
*
openair0_cfg
)
{
...
...
targets/ARCH/COMMON/common_lib.h
View file @
99fa6a9f
...
@@ -445,6 +445,10 @@ int openair0_set_rx_frequencies(openair0_device *device, openair0_config_t *open
...
@@ -445,6 +445,10 @@ int openair0_set_rx_frequencies(openair0_device *device, openair0_config_t *open
#define gettid() syscall(__NR_gettid)
#define gettid() syscall(__NR_gettid)
/*@}*/
/*@}*/
void
uhd_set_thread_prio
(
void
);
typedef
void
(
*
set_prio_func_t
)(
void
);
set_prio_func_t
uhd_set_thread_priority_fun
;
#ifdef __cplusplus
#ifdef __cplusplus
}
}
#endif
#endif
...
...
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
99fa6a9f
...
@@ -1462,5 +1462,10 @@ extern "C" {
...
@@ -1462,5 +1462,10 @@ extern "C" {
#endif
#endif
return
0
;
return
0
;
}
}
void
uhd_set_thread_priority
(
void
)
{
uhd
::
set_thread_priority_safe
(
1.0
);
}
}
}
/*@}*/
/*@}*/
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
99fa6a9f
...
@@ -254,7 +254,7 @@ RUs = (
...
@@ -254,7 +254,7 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.168.10
0.8
,clock_source=external,time_source=external"
;
sdr_addrs
=
"addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.168.10
.2
,clock_source=external,time_source=external"
;
}
}
);
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
View file @
99fa6a9f
...
@@ -254,7 +254,7 @@ RUs = (
...
@@ -254,7 +254,7 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.30.2
"
;
sdr_addrs
=
"type=x300
"
;
}
}
);
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
View file @
99fa6a9f
...
@@ -254,7 +254,7 @@ RUs = (
...
@@ -254,7 +254,7 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.10.2,mgmt_addr=192.168.10
0.8
"
;
sdr_addrs
=
"addr=192.168.10.2,mgmt_addr=192.168.10
.2
"
;
clock_src
=
"external"
;
clock_src
=
"external"
;
}
}
);
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpx300.conf
View file @
99fa6a9f
...
@@ -254,7 +254,7 @@ RUs = (
...
@@ -254,7 +254,7 @@ RUs = (
max_pdschReferenceSignalPower
= -
27
;
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
sdr_addrs
=
"
addr=192.168.30.2
"
;
sdr_addrs
=
"
type=x300
"
;
}
}
);
);
...
...
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