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
9e7cd214
Commit
9e7cd214
authored
Jan 11, 2024
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gNB: remove old and unused rt_profiling.h
parent
cdaa9616
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
116 deletions
+0
-116
doc/Doxyfile
doc/Doxyfile
+0
-1
executables/nr-gnb.c
executables/nr-gnb.c
+0
-21
executables/nr-ru.c
executables/nr-ru.c
+0
-24
executables/rt_profiling.h
executables/rt_profiling.h
+0
-64
openair1/PHY/defs_RU.h
openair1/PHY/defs_RU.h
+0
-3
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-3
No files found.
doc/Doxyfile
View file @
9e7cd214
...
@@ -2541,7 +2541,6 @@ INPUT = \
...
@@ -2541,7 +2541,6 @@ INPUT = \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks_ue.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks_ue.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/rt_profiling.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/create_tasks.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
...
...
executables/nr-gnb.c
View file @
9e7cd214
...
@@ -38,7 +38,6 @@
...
@@ -38,7 +38,6 @@
#include "assertions.h"
#include "assertions.h"
#include <common/utils/LOG/log.h>
#include <common/utils/LOG/log.h>
#include <common/utils/system.h>
#include <common/utils/system.h>
#include "rt_profiling.h"
#include "PHY/types.h"
#include "PHY/types.h"
...
@@ -116,22 +115,12 @@ void tx_func(void *param)
...
@@ -116,22 +115,12 @@ void tx_func(void *param)
PHY_VARS_gNB
*
gNB
=
info
->
gNB
;
PHY_VARS_gNB
*
gNB
=
info
->
gNB
;
int
frame_tx
=
info
->
frame
;
int
frame_tx
=
info
->
frame
;
int
slot_tx
=
info
->
slot
;
int
slot_tx
=
info
->
slot
;
int
cumul_samples
=
gNB
->
frame_parms
.
get_samples_per_slot
(
0
,
&
gNB
->
frame_parms
);
int
i
=
1
;
for
(;
i
<
gNB
->
frame_parms
.
slots_per_subframe
/
2
;
i
++
)
cumul_samples
+=
gNB
->
frame_parms
.
get_samples_per_slot
(
i
,
&
gNB
->
frame_parms
);
int
samples
=
cumul_samples
/
i
;
int
absslot_tx
=
info
->
timestamp_tx
/
samples
;
int
absslot_rx
=
absslot_tx
-
gNB
->
RU_list
[
0
]
->
sl_ahead
;
int
rt_prof_idx
=
absslot_rx
%
RT_PROF_DEPTH
;
start_meas
(
&
gNB
->
phy_proc_tx
);
start_meas
(
&
gNB
->
phy_proc_tx
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
gNB
->
rt_L1_profiling
.
start_L1_TX
[
rt_prof_idx
]);
phy_procedures_gNB_TX
(
info
,
phy_procedures_gNB_TX
(
info
,
frame_tx
,
frame_tx
,
slot_tx
,
slot_tx
,
1
);
1
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
gNB
->
rt_L1_profiling
.
return_L1_TX
[
rt_prof_idx
]);
if
(
get_softmodem_params
()
->
reorder_thread_disable
)
{
if
(
get_softmodem_params
()
->
reorder_thread_disable
)
{
processingData_RU_t
syncMsgRU
;
processingData_RU_t
syncMsgRU
;
...
@@ -182,15 +171,6 @@ void rx_func(void *param)
...
@@ -182,15 +171,6 @@ void rx_func(void *param)
int
frame_tx
=
info
->
frame_tx
;
int
frame_tx
=
info
->
frame_tx
;
int
slot_tx
=
info
->
slot_tx
;
int
slot_tx
=
info
->
slot_tx
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
int
cumul_samples
=
gNB
->
frame_parms
.
get_samples_per_slot
(
0
,
&
gNB
->
frame_parms
);
int
i
=
1
;
for
(;
i
<
gNB
->
frame_parms
.
slots_per_subframe
/
2
;
i
++
)
cumul_samples
+=
gNB
->
frame_parms
.
get_samples_per_slot
(
i
,
&
gNB
->
frame_parms
);
int
samples
=
cumul_samples
/
i
;
int
absslot_tx
=
info
->
timestamp_tx
/
samples
;
int
absslot_rx
=
absslot_tx
-
gNB
->
RU_list
[
0
]
->
sl_ahead
;
int
rt_prof_idx
=
absslot_rx
%
RT_PROF_DEPTH
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
info
->
gNB
->
rt_L1_profiling
.
start_L1_RX
[
rt_prof_idx
]);
start_meas
(
&
softmodem_stats_rxtx_sf
);
start_meas
(
&
softmodem_stats_rxtx_sf
);
// *******************************************************************
// *******************************************************************
...
@@ -254,7 +234,6 @@ void rx_func(void *param)
...
@@ -254,7 +234,6 @@ void rx_func(void *param)
stop_meas
(
&
softmodem_stats_rxtx_sf
);
stop_meas
(
&
softmodem_stats_rxtx_sf
);
LOG_D
(
PHY
,
"%s() Exit proc[rx:%d%d tx:%d%d]
\n
"
,
__FUNCTION__
,
frame_rx
,
slot_rx
,
frame_tx
,
slot_tx
);
LOG_D
(
PHY
,
"%s() Exit proc[rx:%d%d tx:%d%d]
\n
"
,
__FUNCTION__
,
frame_rx
,
slot_rx
,
frame_tx
,
slot_tx
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
info
->
gNB
->
rt_L1_profiling
.
return_L1_RX
[
rt_prof_idx
]);
// Call the scheduler
// Call the scheduler
start_meas
(
&
gNB
->
ul_indication_stats
);
start_meas
(
&
gNB
->
ul_indication_stats
);
...
...
executables/nr-ru.c
View file @
9e7cd214
...
@@ -35,7 +35,6 @@
...
@@ -35,7 +35,6 @@
#include "common/utils/assertions.h"
#include "common/utils/assertions.h"
#include "common/utils/system.h"
#include "common/utils/system.h"
#include "common/ran_context.h"
#include "common/ran_context.h"
#include "rt_profiling.h"
#include "radio/COMMON/common_lib.h"
#include "radio/COMMON/common_lib.h"
#include "radio/ETHERNET/ethernet_lib.h"
#include "radio/ETHERNET/ethernet_lib.h"
...
@@ -1065,15 +1064,6 @@ void ru_tx_func(void *param) {
...
@@ -1065,15 +1064,6 @@ void ru_tx_func(void *param) {
int
print_frame
=
8
;
int
print_frame
=
8
;
char
filename
[
40
];
char
filename
[
40
];
int
cumul_samples
=
fp
->
get_samples_per_slot
(
0
,
fp
);
int
i
=
1
;
for
(;
i
<
fp
->
slots_per_subframe
/
2
;
i
++
)
cumul_samples
+=
fp
->
get_samples_per_slot
(
i
,
fp
);
int
samples
=
cumul_samples
/
i
;
int
absslot_tx
=
info
->
timestamp_tx
/
samples
;
int
absslot_rx
=
absslot_tx
-
ru
->
sl_ahead
;
int
rt_prof_idx
=
absslot_rx
%
RT_PROF_DEPTH
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
ru
->
rt_ru_profiling
.
start_RU_TX
[
rt_prof_idx
]);
// do TX front-end processing if needed (precoding and/or IDFTs)
// do TX front-end processing if needed (precoding and/or IDFTs)
if
(
ru
->
feptx_prec
)
ru
->
feptx_prec
(
ru
,
frame_tx
,
slot_tx
);
if
(
ru
->
feptx_prec
)
ru
->
feptx_prec
(
ru
,
frame_tx
,
slot_tx
);
...
@@ -1116,11 +1106,6 @@ void ru_tx_func(void *param) {
...
@@ -1116,11 +1106,6 @@ void ru_tx_func(void *param) {
}
//for (i=0; i<ru->nb_tx; i++)
}
//for (i=0; i<ru->nb_tx; i++)
}
//if(frame_tx == print_frame)
}
//if(frame_tx == print_frame)
}
//else emulate_rf
}
//else emulate_rf
clock_gettime
(
CLOCK_MONOTONIC
,
&
ru
->
rt_ru_profiling
.
return_RU_TX
[
rt_prof_idx
]);
struct
timespec
*
t0
=&
ru
->
rt_ru_profiling
.
start_RU_TX
[
rt_prof_idx
];
struct
timespec
*
t1
=&
ru
->
rt_ru_profiling
.
return_RU_TX
[
rt_prof_idx
];
LOG_D
(
PHY
,
"rt_prof_idx %d : RU_TX time %d
\n
"
,
rt_prof_idx
,(
int
)(
1e9
*
(
t1
->
tv_sec
-
t0
->
tv_sec
)
+
(
t1
->
tv_nsec
-
t0
->
tv_nsec
)));
}
}
void
*
ru_thread
(
void
*
param
)
{
void
*
ru_thread
(
void
*
param
)
{
...
@@ -1281,9 +1266,6 @@ void *ru_thread( void *param ) {
...
@@ -1281,9 +1266,6 @@ void *ru_thread( void *param ) {
proc
->
timestamp_tx
+=
fp
->
get_samples_per_slot
((
sl
+
slidx
)
%
fp
->
slots_per_frame
,
fp
);
proc
->
timestamp_tx
+=
fp
->
get_samples_per_slot
((
sl
+
slidx
)
%
fp
->
slots_per_frame
,
fp
);
proc
->
frame_tx
=
(
proc
->
frame_rx
+
(
proc
->
tti_rx
+
ru
->
sl_ahead
)
/
fp
->
slots_per_frame
)
&
1023
;
proc
->
frame_tx
=
(
proc
->
frame_rx
+
(
proc
->
tti_rx
+
ru
->
sl_ahead
)
/
fp
->
slots_per_frame
)
&
1023
;
proc
->
tti_tx
=
(
proc
->
tti_rx
+
ru
->
sl_ahead
)
%
fp
->
slots_per_frame
;
proc
->
tti_tx
=
(
proc
->
tti_rx
+
ru
->
sl_ahead
)
%
fp
->
slots_per_frame
;
int
absslot_rx
=
proc
->
timestamp_rx
/
fp
->
get_samples_per_slot
(
proc
->
tti_rx
,
fp
);
int
rt_prof_idx
=
absslot_rx
%
RT_PROF_DEPTH
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
ru
->
rt_ru_profiling
.
return_RU_south_in
[
rt_prof_idx
]);
LOG_D
(
PHY
,
"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]
\n
"
,
LOG_D
(
PHY
,
"AFTER fh_south_in - SFN/SL:%d%d RU->proc[RX:%d.%d TX:%d.%d] RC.gNB[0]:[RX:%d%d TX(SFN):%d]
\n
"
,
frame
,
slot
,
frame
,
slot
,
proc
->
frame_rx
,
proc
->
tti_rx
,
proc
->
frame_rx
,
proc
->
tti_rx
,
...
@@ -1299,7 +1281,6 @@ void *ru_thread( void *param ) {
...
@@ -1299,7 +1281,6 @@ void *ru_thread( void *param ) {
if
(
slot_type
==
NR_UPLINK_SLOT
||
slot_type
==
NR_MIXED_SLOT
)
{
if
(
slot_type
==
NR_UPLINK_SLOT
||
slot_type
==
NR_MIXED_SLOT
)
{
if
(
ru
->
feprx
)
{
if
(
ru
->
feprx
)
{
ru
->
feprx
(
ru
,
proc
->
tti_rx
);
ru
->
feprx
(
ru
,
proc
->
tti_rx
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
ru
->
rt_ru_profiling
.
return_RU_feprx
[
rt_prof_idx
]);
//LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1);
//LOG_M("rxdata.m","rxs",ru->common.rxdata[0],1228800,1,1);
LOG_D
(
PHY
,
"RU proc: frame_rx = %d, tti_rx = %d
\n
"
,
proc
->
frame_rx
,
proc
->
tti_rx
);
LOG_D
(
PHY
,
"RU proc: frame_rx = %d, tti_rx = %d
\n
"
,
proc
->
frame_rx
,
proc
->
tti_rx
);
gNBscopeCopy
(
RC
.
gNB
[
0
],
gNBscopeCopy
(
RC
.
gNB
[
0
],
...
@@ -1330,15 +1311,10 @@ void *ru_thread( void *param ) {
...
@@ -1330,15 +1311,10 @@ void *ru_thread( void *param ) {
prach_oc
,
prach_oc
,
proc
->
frame_rx
,
proc
->
tti_rx
);
proc
->
frame_rx
,
proc
->
tti_rx
);
}
}
clock_gettime
(
CLOCK_MONOTONIC
,
&
ru
->
rt_ru_profiling
.
return_RU_prachrx
[
rt_prof_idx
]);
free_nr_ru_prach_entry
(
ru
,
prach_id
);
free_nr_ru_prach_entry
(
ru
,
prach_id
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX
,
0
);
}
// end if (prach_id > 0)
}
// end if (prach_id > 0)
}
// end if (ru->feprx)
}
// end if (ru->feprx)
else
{
memset
(
&
ru
->
rt_ru_profiling
.
return_RU_feprx
[
rt_prof_idx
],
0
,
sizeof
(
struct
timespec
));
memset
(
&
ru
->
rt_ru_profiling
.
return_RU_prachrx
[
rt_prof_idx
],
0
,
sizeof
(
struct
timespec
));
}
}
// end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) {
}
// end if (slot_type == NR_UPLINK_SLOT || slot_type == NR_MIXED_SLOT) {
// At this point, all information for subframe has been received on FH interface
// At this point, all information for subframe has been received on FH interface
...
...
executables/rt_profiling.h
deleted
100644 → 0
View file @
cdaa9616
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*! \file time_profiling.h
* \brief Definitions for proflling real-time scheduling
* \author
* \date 2022
* \version 0.1
* \company Eurecom
* \email:
* \note
* \warning
*/
#ifndef TIME_PROFILING_H
#define TIME_PROFILING_H
#ifdef __cplusplus
extern
"C"
{
#endif
// depth of trace in slots
#define RT_PROF_DEPTH 100
typedef
struct
{
int
absslot_rx
[
RT_PROF_DEPTH
];
struct
timespec
return_RU_south_in
[
RT_PROF_DEPTH
];
struct
timespec
return_RU_feprx
[
RT_PROF_DEPTH
];
struct
timespec
return_RU_prachrx
[
RT_PROF_DEPTH
];
struct
timespec
return_RU_pushL1
[
RT_PROF_DEPTH
];
struct
timespec
start_RU_TX
[
RT_PROF_DEPTH
];
struct
timespec
return_RU_TX
[
RT_PROF_DEPTH
];
}
rt_ru_profiling_t
;
typedef
struct
{
int
absslot_ux
[
RT_PROF_DEPTH
];
struct
timespec
start_L1_RX
[
RT_PROF_DEPTH
];
struct
timespec
return_L1_RX
[
RT_PROF_DEPTH
];
struct
timespec
start_L1_TX
[
RT_PROF_DEPTH
];
struct
timespec
return_L1_TX
[
RT_PROF_DEPTH
];
struct
timespec
return_L1_prachrx
[
RT_PROF_DEPTH
];
struct
timespec
return_L1_puschL1
[
RT_PROF_DEPTH
];
}
rt_L1_profiling_t
;
#ifdef __cplusplus
}
#endif
#endif
openair1/PHY/defs_RU.h
View file @
9e7cd214
...
@@ -40,7 +40,6 @@
...
@@ -40,7 +40,6 @@
#include "defs_common.h"
#include "defs_common.h"
#include "nfapi_nr_interface_scf.h"
#include "nfapi_nr_interface_scf.h"
#include <common/utils/threadPool/thread-pool.h>
#include <common/utils/threadPool/thread-pool.h>
#include <executables/rt_profiling.h>
#define MAX_BANDS_PER_RRU 4
#define MAX_BANDS_PER_RRU 4
#define MAX_RRU_CONFIG_SIZE 1024
#define MAX_RRU_CONFIG_SIZE 1024
...
@@ -661,8 +660,6 @@ typedef struct RU_t_s {
...
@@ -661,8 +660,6 @@ typedef struct RU_t_s {
int
tpcores
[
16
];
int
tpcores
[
16
];
/// number of cores for RU ThreadPool
/// number of cores for RU ThreadPool
int
num_tpcores
;
int
num_tpcores
;
/// structure for analyzing high-level RT measurements
rt_ru_profiling_t
rt_ru_profiling
;
}
RU_t
;
}
RU_t
;
...
...
openair1/PHY/defs_gNB.h
View file @
9e7cd214
...
@@ -41,7 +41,6 @@
...
@@ -41,7 +41,6 @@
#include "PHY/defs_common.h"
#include "PHY/defs_common.h"
#include "PHY/CODING/nrLDPC_extern.h"
#include "PHY/CODING/nrLDPC_extern.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
#include "executables/rt_profiling.h"
#include "nfapi_nr_interface_scf.h"
#include "nfapi_nr_interface_scf.h"
#define MAX_NUM_RU_PER_gNB 8
#define MAX_NUM_RU_PER_gNB 8
...
@@ -771,8 +770,6 @@ typedef struct PHY_VARS_gNB_s {
...
@@ -771,8 +770,6 @@ typedef struct PHY_VARS_gNB_s {
int
L1_tx_thread_core
;
int
L1_tx_thread_core
;
struct
processingData_L1tx
*
msgDataTx
;
struct
processingData_L1tx
*
msgDataTx
;
void
*
scopeData
;
void
*
scopeData
;
/// structure for analyzing high-level RT measurements
rt_L1_profiling_t
rt_L1_profiling
;
}
PHY_VARS_gNB
;
}
PHY_VARS_gNB
;
typedef
struct
LDPCDecode_s
{
typedef
struct
LDPCDecode_s
{
...
...
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