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
zzha zzha
OpenXG-RAN
Commits
97a54e54
Commit
97a54e54
authored
Feb 12, 2023
by
Raymond
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
n_TimingAdvanceOffset in config
parent
e626bbd8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
17 deletions
+25
-17
executables/nr-ru.c
executables/nr-ru.c
+19
-17
openair1/PHY/defs_RU.h
openair1/PHY/defs_RU.h
+2
-0
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+4
-0
No files found.
executables/nr-ru.c
View file @
97a54e54
...
...
@@ -1352,7 +1352,7 @@ void init_RU_proc(RU_t *ru) {
pthread_mutex_init
(
&
proc
->
mutex_emulateRF
,
NULL
);
pthread_cond_init
(
&
proc
->
cond_emulateRF
,
NULL
);
threadCreate
(
&
proc
->
pthread_FH
,
ru_thread
,
(
void
*
)
ru
,
"ru_thread"
,
ru
->
tpcores
[
0
]
,
OAI_PRIORITY_RT_MAX
);
threadCreate
(
&
proc
->
pthread_FH
,
ru_thread
,
(
void
*
)
ru
,
"ru_thread"
,
ru
->
ru_thread_core
,
OAI_PRIORITY_RT_MAX
);
if
(
emulate_rf
)
threadCreate
(
&
proc
->
pthread_emulateRF
,
emulatedRF_thread
,
(
void
*
)
proc
,
"emulateRF"
,
-
1
,
OAI_PRIORITY_RT
);
...
...
@@ -1790,23 +1790,25 @@ void init_NR_RU(char *rf_config_file) {
set_function_spec_param
(
ru
);
LOG_I
(
PHY
,
"Starting ru_thread %d
\n
"
,
ru_id
);
init_RU_proc
(
ru
);
int
threadCnt
=
ru
->
num_tpcores
;
if
(
threadCnt
<
2
)
LOG_E
(
PHY
,
"Number of threads for gNB should be more than 1. Allocated only %d
\n
"
,
threadCnt
);
else
LOG_I
(
PHY
,
"RU Thread pool size %d
\n
"
,
threadCnt
);
char
pool
[
80
];
int
s_offset
=
sprintf
(
pool
,
"%d"
,
ru
->
tpcores
[
1
]);
for
(
int
icpu
=
2
;
icpu
<
threadCnt
;
icpu
++
)
{
s_offset
+=
sprintf
(
pool
+
s_offset
,
",%d"
,
ru
->
tpcores
[
icpu
]);
if
(
ru
->
if_south
!=
REMOTE_IF4p5
)
{
int
threadCnt
=
ru
->
num_tpcores
;
if
(
threadCnt
<
2
)
LOG_E
(
PHY
,
"Number of threads for gNB should be more than 1. Allocated only %d
\n
"
,
threadCnt
);
else
LOG_I
(
PHY
,
"RU Thread pool size %d
\n
"
,
threadCnt
);
char
pool
[
80
];
int
s_offset
=
sprintf
(
pool
,
"%d"
,
ru
->
tpcores
[
1
]);
for
(
int
icpu
=
2
;
icpu
<
threadCnt
;
icpu
++
)
{
s_offset
+=
sprintf
(
pool
+
s_offset
,
",%d"
,
ru
->
tpcores
[
icpu
]);
}
LOG_I
(
PHY
,
"RU thread-pool core string %s
\n
"
,
pool
);
ru
->
threadPool
=
(
tpool_t
*
)
malloc
(
sizeof
(
tpool_t
));
initTpool
(
pool
,
ru
->
threadPool
,
cpumeas
(
CPUMEAS_GETSTATE
));
// FEP RX result FIFO
ru
->
respfeprx
=
(
notifiedFIFO_t
*
)
malloc
(
sizeof
(
notifiedFIFO_t
));
initNotifiedFIFO
(
ru
->
respfeprx
);
// FEP TX result FIFO
ru
->
respfeptx
=
(
notifiedFIFO_t
*
)
malloc
(
sizeof
(
notifiedFIFO_t
));
initNotifiedFIFO
(
ru
->
respfeptx
);
}
LOG_I
(
PHY
,
"RU thread-pool core string %s
\n
"
,
pool
);
ru
->
threadPool
=
(
tpool_t
*
)
malloc
(
sizeof
(
tpool_t
));
initTpool
(
pool
,
ru
->
threadPool
,
cpumeas
(
CPUMEAS_GETSTATE
));
// FEP RX result FIFO
ru
->
respfeprx
=
(
notifiedFIFO_t
*
)
malloc
(
sizeof
(
notifiedFIFO_t
));
initNotifiedFIFO
(
ru
->
respfeprx
);
// FEP TX result FIFO
ru
->
respfeptx
=
(
notifiedFIFO_t
*
)
malloc
(
sizeof
(
notifiedFIFO_t
));
initNotifiedFIFO
(
ru
->
respfeptx
);
}
// for ru_id
// sleep(1);
...
...
openair1/PHY/defs_RU.h
View file @
97a54e54
...
...
@@ -655,6 +655,8 @@ typedef struct RU_t_s {
int
txfh_core_id
;
/// number of RU interfaces
int
num_fd
;
/// Core id of ru_thread
int
ru_thread_core
;
/// list of cores for RU ThreadPool
int
tpcores
[
16
];
/// number of cores for RU ThreadPool
...
...
openair2/ENB_APP/enb_paramdef.h
View file @
97a54e54
...
...
@@ -111,6 +111,7 @@ typedef enum {
#define CONFIG_STRING_RU_NUM_TP_CORES "num_tp_cores"
#define CONFIG_STRING_RU_NUM_INTERFACES "num_interfaces"
#define CONFIG_STRING_RU_HALF_SLOT_PARALLELIZATION "half_slot_parallelization"
#define CONFIG_STRING_RU_RU_THREAD_CORE "ru_thread_core"
#define HLP_RU_SF_AHEAD "LTE TX processing advance"
#define HLP_RU_SL_AHEAD "NR TX processing advance"
...
...
@@ -122,6 +123,7 @@ typedef enum {
#define HLP_RU_NUM_TP_CORES "Number of cores for RU ThreadPool"
#define HLP_RU_NUM_INTERFACES "Number of network interfaces for RU"
#define HLP_RU_HALF_SLOT_PARALLELIZATION "run half slots in parallel in RU FEP"
#define HLP_RU_RU_THREAD_CORE "id of core to pin ru_thread, -1 is default"
#define RU_LOCAL_IF_NAME_IDX 0
#define RU_LOCAL_ADDRESS_IDX 1
...
...
@@ -164,6 +166,7 @@ typedef enum {
#define RU_NUM_TP_CORES 38
#define RU_NUM_INTERFACES 39
#define RU_HALF_SLOT_PARALLELIZATION 40
#define RU_RU_THREAD_CORE 41
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
/* RU configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
...
@@ -210,6 +213,7 @@ typedef enum {
{CONFIG_STRING_RU_NUM_TP_CORES, HLP_RU_NUM_TP_CORES, 0, uptr:NULL, defintval:2, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_NUM_INTERFACES, HLP_RU_NUM_INTERFACES, 0, uptr:NULL, defintval:1, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_HALF_SLOT_PARALLELIZATION, HLP_RU_HALF_SLOT_PARALLELIZATION, 0, uptr:NULL, defintval:1, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_RU_THREAD_CORE, HLP_RU_RU_THREAD_CORE, 0, uptr:NULL, defintval:-1, TYPE_INT, 0}, \
}
/*---------------------------------------------------------------------------------------------------------------------------------------*/
...
...
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