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
canghaiwuhen
OpenXG-RAN
Commits
b2275c7b
Commit
b2275c7b
authored
Sep 20, 2019
by
Wang Tsu-Han
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding time stats for ru
parent
046920e6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
12 deletions
+23
-12
executables/nr-ru.c
executables/nr-ru.c
+6
-2
openair1/PHY/defs_RU.h
openair1/PHY/defs_RU.h
+5
-1
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+12
-9
No files found.
executables/nr-ru.c
View file @
b2275c7b
...
@@ -1214,12 +1214,16 @@ static void *ru_stats_thread(void *param) {
...
@@ -1214,12 +1214,16 @@ static void *ru_stats_thread(void *param) {
if
(
opp_enabled
==
1
)
{
if
(
opp_enabled
==
1
)
{
if
(
ru
->
feptx_prec
)
{
if
(
ru
->
feptx_prec
)
{
print_meas
(
&
ru
->
total_
precoding_stats
,
"feptx_prec"
,
NULL
,
NULL
);
print_meas
(
&
ru
->
precoding_stats
,
"feptx_prec"
,
NULL
,
NULL
);
}
}
if
(
ru
->
feprx
)
print_meas
(
&
ru
->
ofdm_demod_stats
,
"feprx"
,
NULL
,
NULL
);
if
(
ru
->
feprx
)
print_meas
(
&
ru
->
ofdm_demod_stats
,
"feprx"
,
NULL
,
NULL
);
if
(
ru
->
feptx_ofdm
)
print_meas
(
&
ru
->
ofdm_mod_stats
,
"feptx_ofdm"
,
NULL
,
NULL
);
if
(
ru
->
feptx_ofdm
){
print_meas
(
&
ru
->
txdataF_copy_stats
,
"txdataF_copy"
,
NULL
,
NULL
);
print_meas
(
&
ru
->
ofdm_mod_stats
,
"feptx_ofdm"
,
NULL
,
NULL
);
print_meas
(
&
ru
->
ofdm_total_stats
,
"feptx_total"
,
NULL
,
NULL
);
}
if
(
ru
->
fh_north_asynch_in
)
print_meas
(
&
ru
->
rx_fhaul
,
"rx_fhaul"
,
NULL
,
NULL
);
if
(
ru
->
fh_north_asynch_in
)
print_meas
(
&
ru
->
rx_fhaul
,
"rx_fhaul"
,
NULL
,
NULL
);
...
...
openair1/PHY/defs_RU.h
View file @
b2275c7b
...
@@ -566,12 +566,16 @@ typedef struct RU_t_s{
...
@@ -566,12 +566,16 @@ typedef struct RU_t_s{
void
(
*
eNB_top
)(
struct
PHY_VARS_eNB_s
*
eNB
,
int
frame_rx
,
int
subframe_rx
,
char
*
string
,
struct
RU_t_s
*
ru
);
void
(
*
eNB_top
)(
struct
PHY_VARS_eNB_s
*
eNB
,
int
frame_rx
,
int
subframe_rx
,
char
*
string
,
struct
RU_t_s
*
ru
);
void
(
*
gNB_top
)(
struct
PHY_VARS_gNB_s
*
gNB
,
int
frame_rx
,
int
slot_rx
,
char
*
string
,
struct
RU_t_s
*
ru
);
void
(
*
gNB_top
)(
struct
PHY_VARS_gNB_s
*
gNB
,
int
frame_rx
,
int
slot_rx
,
char
*
string
,
struct
RU_t_s
*
ru
);
/// Timing data copy statistics (TX)
time_stats_t
txdataF_copy_stats
;
/// Timing statistics (TX)
/// Timing statistics (TX)
time_stats_t
total_
precoding_stats
;
time_stats_t
precoding_stats
;
/// Timing statistics
/// Timing statistics
time_stats_t
ofdm_demod_stats
;
time_stats_t
ofdm_demod_stats
;
/// Timing statistics (TX)
/// Timing statistics (TX)
time_stats_t
ofdm_mod_stats
;
time_stats_t
ofdm_mod_stats
;
/// Timing statistics (TX)
time_stats_t
ofdm_total_stats
;
/// Timing wait statistics
/// Timing wait statistics
time_stats_t
ofdm_demod_wait_stats
;
time_stats_t
ofdm_demod_wait_stats
;
/// Timing wakeup statistics
/// Timing wakeup statistics
...
...
openair1/SCHED_NR/nr_ru_procedures.c
View file @
b2275c7b
...
@@ -125,12 +125,12 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
...
@@ -125,12 +125,12 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
int
nb_antenna_ports
=
8
;
int
nb_antenna_ports
=
8
;
int
ofdm_mask_full
=
(
1
<<
(
ru
->
nb_tx
*
2
))
-
1
;
int
ofdm_mask_full
=
(
1
<<
(
ru
->
nb_tx
*
2
))
-
1
;
start_meas
(
&
ru
->
ofdm_
mod
_stats
);
start_meas
(
&
ru
->
ofdm_
total
_stats
);
for
(
j
=
0
;
j
<
fp
->
symbols_per_slot
;
++
j
){
for
(
j
=
0
;
j
<
fp
->
symbols_per_slot
;
++
j
){
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC
,
1
);
start_meas
(
&
ru
->
t
otal_precoding
_stats
);
start_meas
(
&
ru
->
t
xdataF_copy
_stats
);
if
(
ru
->
num_gNB
==
1
){
if
(
ru
->
num_gNB
==
1
){
gNB
=
ru
->
gNB_list
[
0
];
gNB
=
ru
->
gNB_list
[
0
];
cfg
=
&
gNB
->
gNB_config
;
cfg
=
&
gNB
->
gNB_config
;
...
@@ -143,7 +143,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
...
@@ -143,7 +143,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
}
}
}
//num_gNB == 1
}
//num_gNB == 1
//printf("~~~~~~~~~~~memery copy index: nb_antenna_ports = %d, samples_per_slot_wCP = %d\n", nb_antenna_ports, fp->samples_per_slot_wCP);
//printf("~~~~~~~~~~~memery copy index: nb_antenna_ports = %d, samples_per_slot_wCP = %d\n", nb_antenna_ports, fp->samples_per_slot_wCP);
stop_meas
(
&
ru
->
t
otal_precoding
_stats
);
stop_meas
(
&
ru
->
t
xdataF_copy
_stats
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC
,
0
);
...
@@ -205,7 +205,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
...
@@ -205,7 +205,7 @@ void nr_feptx_ofdm_2thread(RU_t *ru,int frame_tx,int tti_tx) {
//write_output
//write_output
stop_meas
(
&
ru
->
ofdm_
mod
_stats
);
stop_meas
(
&
ru
->
ofdm_
total
_stats
);
}
}
...
@@ -235,6 +235,7 @@ static void *nr_feptx_thread(void *param) {
...
@@ -235,6 +235,7 @@ static void *nr_feptx_thread(void *param) {
ofdm_mask_full
=
(
1
<<
(
ru
->
nb_tx
*
2
))
-
1
;
ofdm_mask_full
=
(
1
<<
(
ru
->
nb_tx
*
2
))
-
1
;
bw
=
ru
->
beam_weights
[
0
];
bw
=
ru
->
beam_weights
[
0
];
start_meas
(
&
ru
->
precoding_stats
);
nr_beam_precoding
(
ru
->
common
.
txdataF
,
nr_beam_precoding
(
ru
->
common
.
txdataF
,
ru
->
common
.
txdataF_BF
,
ru
->
common
.
txdataF_BF
,
fp
,
fp
,
...
@@ -243,9 +244,11 @@ static void *nr_feptx_thread(void *param) {
...
@@ -243,9 +244,11 @@ static void *nr_feptx_thread(void *param) {
l
+
start
,
l
+
start
,
aa
,
aa
,
nb_antenna_ports
);
nb_antenna_ports
);
stop_meas
(
&
ru
->
precoding_stats
);
start_meas
(
&
ru
->
ofdm_mod_stats
);
nr_feptx0
(
ru
,
slot
,
start
,
1
,
aa
);
nr_feptx0
(
ru
,
slot
,
start
,
1
,
aa
);
stop_meas
(
&
ru
->
ofdm_mod_stats
);
if
(
release_thread
(
&
feptx
->
mutex_feptx
,
&
feptx
->
instance_cnt_feptx
,
"NR feptx thread"
)
<
0
)
break
;
if
(
release_thread
(
&
feptx
->
mutex_feptx
,
&
feptx
->
instance_cnt_feptx
,
"NR feptx thread"
)
<
0
)
break
;
...
@@ -363,7 +366,7 @@ void nr_feptx_prec_control(RU_t *ru,int frame,int tti_tx) {
...
@@ -363,7 +366,7 @@ void nr_feptx_prec_control(RU_t *ru,int frame,int tti_tx) {
gNB
=
gNB_list
[
0
];
gNB
=
gNB_list
[
0
];
start_meas
(
&
ru
->
total_
precoding_stats
);
start_meas
(
&
ru
->
precoding_stats
);
for
(
i
=
0
;
i
<
nb_antenna_ports
;
++
i
)
for
(
i
=
0
;
i
<
nb_antenna_ports
;
++
i
)
memcpy
((
void
*
)
ru
->
common
.
txdataF
[
i
],
memcpy
((
void
*
)
ru
->
common
.
txdataF
[
i
],
(
void
*
)
gNB
->
common_vars
.
txdataF
[
i
],
(
void
*
)
gNB
->
common_vars
.
txdataF
[
i
],
...
@@ -400,7 +403,7 @@ void nr_feptx_prec_control(RU_t *ru,int frame,int tti_tx) {
...
@@ -400,7 +403,7 @@ void nr_feptx_prec_control(RU_t *ru,int frame,int tti_tx) {
if
(
i
==
16
)
break
;
if
(
i
==
16
)
break
;
}
}
stop_meas
(
&
ru
->
total_
precoding_stats
);
stop_meas
(
&
ru
->
precoding_stats
);
}
}
void
nr_feptx_prec
(
RU_t
*
ru
,
int
frame
,
int
tti_tx
)
{
void
nr_feptx_prec
(
RU_t
*
ru
,
int
frame
,
int
tti_tx
)
{
...
@@ -412,7 +415,7 @@ void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) {
...
@@ -412,7 +415,7 @@ void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) {
int32_t
***
bw
;
int32_t
***
bw
;
int
i
=
0
;
int
i
=
0
;
start_meas
(
&
ru
->
total_
precoding_stats
);
start_meas
(
&
ru
->
precoding_stats
);
if
(
ru
->
num_gNB
==
1
){
if
(
ru
->
num_gNB
==
1
){
gNB
=
gNB_list
[
0
];
gNB
=
gNB_list
[
0
];
cfg
=
&
gNB
->
gNB_config
;
cfg
=
&
gNB
->
gNB_config
;
...
@@ -455,7 +458,7 @@ void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) {
...
@@ -455,7 +458,7 @@ void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) {
}
// for (l=0;l<fp->symbols_per_slot;l++)
}
// for (l=0;l<fp->symbols_per_slot;l++)
}
// if (ru->nb_tx == 1)
}
// if (ru->nb_tx == 1)
}
// if (ru->num_gNB == 1)
}
// if (ru->num_gNB == 1)
stop_meas
(
&
ru
->
total_
precoding_stats
);
stop_meas
(
&
ru
->
precoding_stats
);
}
}
void
nr_init_feptx_prec_thread
(
RU_t
*
ru
){
void
nr_init_feptx_prec_thread
(
RU_t
*
ru
){
...
...
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