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
littleBu
OpenXG-RAN
Commits
0b4b6b95
Commit
0b4b6b95
authored
Aug 21, 2024
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove unused rt_profiling
parent
10e07bc6
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
114 deletions
+0
-114
doc/Doxyfile
doc/Doxyfile
+0
-1
executables/nr-gnb.c
executables/nr-gnb.c
+0
-19
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 @
0b4b6b95
...
...
@@ -997,7 +997,6 @@ INPUT = \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/softmodem-common.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-softmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-gnb.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/rt_profiling.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.h \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/nr-uesoftmodem.c \
@CMAKE_CURRENT_SOURCE_DIR@/../executables/lte-softmodem.h \
...
...
executables/nr-gnb.c
View file @
0b4b6b95
...
...
@@ -36,7 +36,6 @@
#include "assertions.h"
#include <common/utils/LOG/log.h>
#include <common/utils/system.h>
#include "rt_profiling.h"
#include "PHY/types.h"
...
...
@@ -91,12 +90,6 @@ static void tx_func(processingData_L1tx_t *info)
int
slot_tx
=
info
->
slot
;
int
frame_rx
=
info
->
frame_rx
;
int
slot_rx
=
info
->
slot_rx
;
int64_t
absslot_tx
=
info
->
timestamp_tx
/
info
->
gNB
->
frame_parms
.
get_samples_per_slot
(
slot_tx
,
&
info
->
gNB
->
frame_parms
);
int64_t
absslot_rx
=
absslot_tx
-
info
->
gNB
->
RU_list
[
0
]
->
sl_ahead
;
if
(
absslot_rx
<
0
)
{
LOG_W
(
NR_PHY
,
"Slot ahead %d is larger than absslot_tx %ld. Cannot start TX yet.
\n
"
,
info
->
gNB
->
RU_list
[
0
]
->
sl_ahead
,
absslot_tx
);
return
;
}
LOG_D
(
NR_PHY
,
"%d.%d running tx_func
\n
"
,
frame_tx
,
slot_tx
);
PHY_VARS_gNB
*
gNB
=
info
->
gNB
;
module_id_t
module_id
=
gNB
->
Mod_id
;
...
...
@@ -134,8 +127,6 @@ static void tx_func(processingData_L1tx_t *info)
if
(
tx_slot_type
==
NR_DOWNLINK_SLOT
||
tx_slot_type
==
NR_MIXED_SLOT
||
get_softmodem_params
()
->
continuous_tx
)
{
start_meas
(
&
info
->
gNB
->
phy_proc_tx
);
phy_procedures_gNB_TX
(
info
,
frame_tx
,
slot_tx
,
1
);
const
int
rt_prof_idx
=
absslot_rx
%
RT_PROF_DEPTH
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
info
->
gNB
->
rt_L1_profiling
.
return_L1_TX
[
rt_prof_idx
]);
PHY_VARS_gNB
*
gNB
=
info
->
gNB
;
processingData_RU_t
syncMsgRU
;
...
...
@@ -187,15 +178,6 @@ static void rx_func(processingData_L1_t *info)
int
frame_rx
=
info
->
frame_rx
;
int
slot_rx
=
info
->
slot_rx
;
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
;
int64_t
absslot_tx
=
info
->
timestamp_tx
/
samples
;
int64_t
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
]);
// *******************************************************************
...
...
@@ -253,7 +235,6 @@ static void rx_func(processingData_L1_t *info)
#endif
}
clock_gettime
(
CLOCK_MONOTONIC
,
&
info
->
gNB
->
rt_L1_profiling
.
return_L1_RX
[
rt_prof_idx
]);
}
static
size_t
dump_L1_meas_stats
(
PHY_VARS_gNB
*
gNB
,
RU_t
*
ru
,
char
*
output
,
size_t
outputlen
)
{
...
...
executables/nr-ru.c
View file @
0b4b6b95
...
...
@@ -33,7 +33,6 @@
#include "common/utils/assertions.h"
#include "common/utils/system.h"
#include "common/ran_context.h"
#include "rt_profiling.h"
#include "radio/COMMON/common_lib.h"
#include "radio/ETHERNET/ethernet_lib.h"
...
...
@@ -1038,15 +1037,6 @@ void ru_tx_func(void *param)
int
print_frame
=
8
;
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
;
int64_t
absslot_tx
=
info
->
timestamp_tx
/
samples
;
int64_t
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)
if
(
ru
->
feptx_prec
)
ru
->
feptx_prec
(
ru
,
frame_tx
,
slot_tx
);
...
...
@@ -1093,11 +1083,6 @@ void ru_tx_func(void *param)
}
//for (i=0; i<ru->nb_tx; i++)
}
//if(frame_tx == print_frame)
}
//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
)
...
...
@@ -1273,9 +1258,6 @@ void *ru_thread(void *param)
proc
->
timestamp_tx
+=
fp
->
get_samples_per_slot
(
i
%
fp
->
slots_per_frame
,
fp
);
proc
->
tti_tx
=
(
proc
->
tti_rx
+
ru
->
sl_ahead
)
%
fp
->
slots_per_frame
;
proc
->
frame_tx
=
proc
->
tti_rx
>
proc
->
tti_tx
?
(
proc
->
frame_rx
+
1
)
&
1023
:
proc
->
frame_rx
;
int64_t
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
"
,
frame
,
slot
,
proc
->
frame_rx
,
proc
->
tti_rx
,
...
...
@@ -1321,7 +1303,6 @@ void *ru_thread(void *param)
rx_tti_busy
[
proc
->
tti_rx
%
RU_RX_SLOT_DEPTH
]
=
true
;
ru
->
feprx
(
ru
,
proc
->
tti_rx
);
LOG_D
(
NR_PHY
,
"Setting %d.%d (%d) to busy
\n
"
,
proc
->
frame_rx
,
proc
->
tti_rx
,
proc
->
tti_rx
%
RU_RX_SLOT_DEPTH
);
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_D
(
PHY
,
"RU proc: frame_rx = %d, tti_rx = %d
\n
"
,
proc
->
frame_rx
,
proc
->
tti_rx
);
gNBscopeCopy
(
RC
.
gNB
[
0
],
...
...
@@ -1352,15 +1333,10 @@ void *ru_thread(void *param)
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
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_RU_PRACH_RX
,
0
);
}
// end if (prach_id > 0)
}
// 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) {
#endif
...
...
executables/rt_profiling.h
deleted
100644 → 0
View file @
10e07bc6
/*
* 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 rt_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
{
int64_t
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
{
int64_t
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 @
0b4b6b95
...
...
@@ -39,7 +39,6 @@
#include "time_meas.h"
#include "defs_common.h"
#include "nfapi_nr_interface_scf.h"
#include <executables/rt_profiling.h>
#include "common/utils/threadPool/task_ans.h"
#include "common/utils/threadPool/thread-pool.h"
...
...
@@ -663,8 +662,6 @@ typedef struct RU_t_s {
int
tpcores
[
16
];
/// number of cores for RU ThreadPool
int
num_tpcores
;
/// structure for analyzing high-level RT measurements
rt_ru_profiling_t
rt_ru_profiling
;
void
*
scopeData
;
}
RU_t
;
...
...
openair1/PHY/defs_gNB.h
View file @
0b4b6b95
...
...
@@ -43,7 +43,6 @@
#include "PHY/CODING/nrLDPC_coding/nrLDPC_coding_interface.h"
#include "PHY/CODING/nrLDPC_extern.h"
#include "PHY/CODING/nrLDPC_decoder/nrLDPC_types.h"
#include "executables/rt_profiling.h"
#include "nfapi_nr_interface_scf.h"
#include "openair2/NR_PHY_INTERFACE/NR_IF_Module.h"
...
...
@@ -560,8 +559,6 @@ typedef struct PHY_VARS_gNB_s {
int
L1_tx_thread_core
;
struct
processingData_L1tx
*
msgDataTx
;
void
*
scopeData
;
/// structure for analyzing high-level RT measurements
rt_L1_profiling_t
rt_L1_profiling
;
}
PHY_VARS_gNB
;
struct
puschSymbolReqId
{
...
...
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