Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
openairinterface5G
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Merge Requests
27
Merge Requests
27
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
oai
openairinterface5G
Commits
38d09bc7
Commit
38d09bc7
authored
Sep 28, 2018
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/parallel-config' into develop_integration_2018_w39
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parents
8037229e
f5d38477
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
420 additions
and
53 deletions
+420
-53
ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
+9
-0
ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
+9
-0
ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
+9
-0
ci-scripts/conf_files/lte-basic-sim.conf
ci-scripts/conf_files/lte-basic-sim.conf
+9
-0
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+27
-11
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+2
-2
openair1/PHY/defs_common.h
openair1/PHY/defs_common.h
+15
-0
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+0
-1
openair1/SIMULATION/LTE_PHY/dlsim.c
openair1/SIMULATION/LTE_PHY/dlsim.c
+26
-1
openair1/SIMULATION/LTE_PHY/ulsim.c
openair1/SIMULATION/LTE_PHY/ulsim.c
+26
-1
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+43
-0
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+25
-0
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.100PRB.usrpx310.conf
.../GENERIC-LTE-EPC/CONF/enb.band38.tm1.100PRB.usrpx310.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpx310.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpx310.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf
...S/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.replay.conf
...RIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.replay.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
...ENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210_ue_expansion.conf
...E-EPC/CONF/enb.band7.tm1.50PRB.usrpb210_ue_expansion.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band38.tm1.if4p5.50PRB.lo.conf
...S/GENERIC-LTE-EPC/CONF/rcc.band38.tm1.if4p5.50PRB.lo.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi-STUB.conf
.../GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi-STUB.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf
...JECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf
...JECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
...TS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
+9
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.tdd.conf
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.tdd.conf
+9
-0
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+14
-13
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+14
-14
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+27
-2
targets/RT/USER/lte-softmodem.h
targets/RT/USER/lte-softmodem.h
+9
-5
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+29
-2
No files found.
ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
View file @
38d09bc7
...
...
@@ -228,6 +228,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
...
...
ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
View file @
38d09bc7
...
...
@@ -228,6 +228,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
...
...
ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
View file @
38d09bc7
...
...
@@ -228,6 +228,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
...
...
ci-scripts/conf_files/lte-basic-sim.conf
View file @
38d09bc7
...
...
@@ -229,6 +229,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
...
...
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
38d09bc7
...
...
@@ -57,8 +57,8 @@
uint64_t runtime,
uint64_t deadline,
uint64_t period);*/
extern
WORKER_CONF_t
get_thread_worker_conf
(
void
);
extern
int
codingw
;
void
free_eNB_dlsch
(
LTE_eNB_DLSCH_t
*
dlsch
)
{
...
...
@@ -615,8 +615,10 @@ int dlsch_encoding_all(PHY_VARS_eNB *eNB,
}
}
if
(
C
>=
8
&&
get_nprocs
()
>=
16
&&
codingw
)
//one main three worker
if
(
get_thread_worker_conf
()
==
WORKER_ENABLE
)
{
if
(
C
>=
8
)
//one main three worker
{
encoding_return
=
dlsch_encoding_2threads
(
eNB
,
a
,
...
...
@@ -632,9 +634,9 @@ int dlsch_encoding_all(PHY_VARS_eNB *eNB,
te_wakeup_stats1
,
i_stats
,
3
);
}
else
if
(
C
>=
6
&&
get_nprocs
()
>=
8
&&
codingw
)
//one main two worker
{
}
else
if
(
C
>=
6
)
//one main two worker
{
encoding_return
=
dlsch_encoding_2threads
(
eNB
,
a
,
...
...
@@ -650,9 +652,9 @@ int dlsch_encoding_all(PHY_VARS_eNB *eNB,
te_wakeup_stats1
,
i_stats
,
2
);
}
else
if
(
C
>=
4
&&
get_nprocs
()
>=
4
&&
codingw
)
//one main one worker
{
}
else
if
(
C
>=
4
)
//one main one worker
{
encoding_return
=
dlsch_encoding_2threads
(
eNB
,
a
,
...
...
@@ -668,9 +670,23 @@ int dlsch_encoding_all(PHY_VARS_eNB *eNB,
te_wakeup_stats1
,
i_stats
,
1
);
}
else
{
encoding_return
=
dlsch_encoding
(
eNB
,
a
,
num_pdcch_symbols
,
dlsch
,
frame
,
subframe
,
rm_stats
,
te_stats
,
i_stats
);
}
}
else
{
else
{
encoding_return
=
dlsch_encoding
(
eNB
,
a
,
...
...
@@ -681,7 +697,7 @@ int dlsch_encoding_all(PHY_VARS_eNB *eNB,
rm_stats
,
te_stats
,
i_stats
);
}
}
return
encoding_return
;
}
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
38d09bc7
...
...
@@ -45,7 +45,7 @@
#include "targets/RT/USER/rt_wrapper.h"
#include "transport_proto.h"
extern
int
codingw
;
extern
WORKER_CONF_t
get_thread_worker_conf
(
void
)
;
void
free_eNB_ulsch
(
LTE_eNB_ULSCH_t
*
ulsch
)
{
...
...
@@ -723,7 +723,7 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
int
ulsch_decoding_data_all
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
harq_pid
,
int
llr8_flag
)
{
int
ret
=
0
;
/*if(
codingw
)
/*if(
get_thread_worker_conf() == WORKER_ENABLE
)
{
ret = ulsch_decoding_data_2thread(eNB,UE_id,harq_pid,llr8_flag);
}
...
...
openair1/PHY/defs_common.h
View file @
38d09bc7
...
...
@@ -862,7 +862,22 @@ typedef enum {
RESYNCH
=
4
}
UE_MODE_t
;
/// Threading Parameter
typedef
enum
{
PARALLEL_SINGLE_THREAD
=
0
,
PARALLEL_RU_L1_SPLIT
=
1
,
PARALLEL_RU_L1_TRX_SPLIT
=
2
}
PARALLEL_CONF_t
;
typedef
enum
{
WORKER_DISABLE
=
0
,
WORKER_ENABLE
=
1
}
WORKER_CONF_t
;
typedef
struct
THREAD_STRUCT_s
{
PARALLEL_CONF_t
parallel_conf
;
WORKER_CONF_t
worker_conf
;
}
THREAD_STRUCT
;
typedef
enum
{
SF_DL
,
SF_UL
,
SF_S
}
lte_subframe_t
;
...
...
openair1/PHY/defs_eNB.h
View file @
38d09bc7
...
...
@@ -270,7 +270,6 @@ typedef enum {
REMOTE_IF4p5
=
3
,
REMOTE_IF1pp
=
4
,
MAX_RU_IF_TYPES
=
5
//EMULATE_RF =6
}
RU_if_south_t
;
typedef
struct
RU_t_s
{
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
38d09bc7
...
...
@@ -82,7 +82,30 @@ double t_rx_min = 1000000000; /*!< \brief initial min process time for rx */
int
n_tx_dropped
=
0
;
/*!< \brief initial max process time for tx */
int
n_rx_dropped
=
0
;
/*!< \brief initial max process time for rx */
int
codingw
=
0
;
char
*
parallel_config
=
NULL
;
char
*
worker_config
=
NULL
;
static
THREAD_STRUCT
thread_struct
;
void
set_parallel_conf
(
char
*
parallel_conf
)
{
if
(
strcmp
(
parallel_conf
,
"PARALLEL_SINGLE_THREAD"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_SINGLE_THREAD
;
else
if
(
strcmp
(
parallel_conf
,
"PARALLEL_RU_L1_SPLIT"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_RU_L1_SPLIT
;
else
if
(
strcmp
(
parallel_conf
,
"PARALLEL_RU_L1_TRX_SPLIT"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_RU_L1_TRX_SPLIT
;
printf
(
"[CONFIG] parallel conf is set to %d
\n
"
,
thread_struct
.
parallel_conf
);
}
void
set_worker_conf
(
char
*
worker_conf
)
{
if
(
strcmp
(
worker_conf
,
"WORKER_DISABLE"
)
==
0
)
thread_struct
.
worker_conf
=
WORKER_DISABLE
;
else
if
(
strcmp
(
worker_conf
,
"WORKER_ENABLE"
)
==
0
)
thread_struct
.
worker_conf
=
WORKER_ENABLE
;
printf
(
"[CONFIG] worker conf is set to %d
\n
"
,
thread_struct
.
worker_conf
);
}
PARALLEL_CONF_t
get_thread_parallel_conf
(
void
)
{
return
thread_struct
.
parallel_conf
;
}
WORKER_CONF_t
get_thread_worker_conf
(
void
)
{
return
thread_struct
.
worker_conf
;
}
int
emulate_rf
=
0
;
...
...
@@ -1041,6 +1064,8 @@ int main(int argc, char **argv)
break
;
}
}
set_parallel_conf
(
"PARALLEL_RU_L1_TRX_SPLIT"
);
set_worker_conf
(
"WORKER_ENABLE"
);
if
(
transmission_mode
>
1
)
pa
=
dBm3
;
printf
(
"dlsim: tmode %d, pa %d
\n
"
,
transmission_mode
,
pa
);
...
...
openair1/SIMULATION/LTE_PHY/ulsim.c
View file @
38d09bc7
...
...
@@ -97,7 +97,30 @@ nfapi_tx_request_pdu_t tx_pdu_list[MAX_NUM_TX_REQUEST_PDU];
nfapi_tx_request_t
TX_req
;
Sched_Rsp_t
sched_resp
;
int
codingw
=
0
;
char
*
parallel_config
=
NULL
;
char
*
worker_config
=
NULL
;
static
THREAD_STRUCT
thread_struct
;
void
set_parallel_conf
(
char
*
parallel_conf
)
{
if
(
strcmp
(
parallel_conf
,
"PARALLEL_SINGLE_THREAD"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_SINGLE_THREAD
;
else
if
(
strcmp
(
parallel_conf
,
"PARALLEL_RU_L1_SPLIT"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_RU_L1_SPLIT
;
else
if
(
strcmp
(
parallel_conf
,
"PARALLEL_RU_L1_TRX_SPLIT"
)
==
0
)
thread_struct
.
parallel_conf
=
PARALLEL_RU_L1_TRX_SPLIT
;
printf
(
"[CONFIG] parallel conf is set to %d
\n
"
,
thread_struct
.
parallel_conf
);
}
void
set_worker_conf
(
char
*
worker_conf
)
{
if
(
strcmp
(
worker_conf
,
"WORKER_DISABLE"
)
==
0
)
thread_struct
.
worker_conf
=
WORKER_DISABLE
;
else
if
(
strcmp
(
worker_conf
,
"WORKER_ENABLE"
)
==
0
)
thread_struct
.
worker_conf
=
WORKER_ENABLE
;
printf
(
"[CONFIG] worker conf is set to %d
\n
"
,
thread_struct
.
worker_conf
);
}
PARALLEL_CONF_t
get_thread_parallel_conf
(
void
)
{
return
thread_struct
.
parallel_conf
;
}
WORKER_CONF_t
get_thread_worker_conf
(
void
)
{
return
thread_struct
.
worker_conf
;
}
void
fill_nfapi_ulsch_config_request
(
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
...
...
@@ -725,6 +748,8 @@ int main(int argc, char **argv)
break
;
}
}
set_parallel_conf
(
"PARALLEL_RU_L1_TRX_SPLIT"
);
set_worker_conf
(
"WORKER_ENABLE"
);
RC
.
nb_L1_inst
=
1
;
RC
.
nb_RU
=
1
;
...
...
openair2/ENB_APP/enb_config.c
View file @
38d09bc7
...
...
@@ -61,6 +61,10 @@
#include "enb_paramdef.h"
extern
uint16_t
sf_ahead
;
extern
void
set_parallel_conf
(
char
*
parallel_conf
);
extern
void
set_worker_conf
(
char
*
worker_conf
);
extern
PARALLEL_CONF_t
get_thread_parallel_conf
(
void
);
extern
WORKER_CONF_t
get_thread_worker_conf
(
void
);
void
RCconfig_flexran
()
{
uint16_t
i
;
...
...
@@ -2303,6 +2307,44 @@ int RCconfig_X2(MessageDef *msg_p, uint32_t i) {
return
0
;
}
int
RCconfig_parallel
(
void
)
{
char
*
parallel_conf
=
NULL
;
char
*
worker_conf
=
NULL
;
extern
char
*
parallel_config
;
extern
char
*
worker_config
;
paramdef_t
ThreadParams
[]
=
THREAD_CONF_DESC
;
paramlist_def_t
THREADParamList
=
{
THREAD_CONFIG_STRING_THREAD_STRUCT
,
NULL
,
0
};
config_getlist
(
&
THREADParamList
,
NULL
,
0
,
NULL
);
if
(
THREADParamList
.
numelt
>
0
)
{
config_getlist
(
&
THREADParamList
,
ThreadParams
,
sizeof
(
ThreadParams
)
/
sizeof
(
paramdef_t
),
NULL
);
parallel_conf
=
strdup
(
*
(
THREADParamList
.
paramarray
[
0
][
THREAD_PARALLEL_IDX
].
strptr
));
}
else
{
parallel_conf
=
strdup
(
"PARALLEL_RU_L1_TRX_SPLIT"
);
}
if
(
THREADParamList
.
numelt
>
0
)
{
config_getlist
(
&
THREADParamList
,
ThreadParams
,
sizeof
(
ThreadParams
)
/
sizeof
(
paramdef_t
),
NULL
);
worker_conf
=
strdup
(
*
(
THREADParamList
.
paramarray
[
0
][
THREAD_WORKER_IDX
].
strptr
));
}
else
{
worker_conf
=
strdup
(
"WORKER_ENABLE"
);
}
if
(
parallel_config
==
NULL
)
set_parallel_conf
(
parallel_conf
);
if
(
worker_config
==
NULL
)
set_worker_conf
(
worker_conf
);
return
0
;
}
void
RCConfig
(
void
)
{
paramlist_def_t
MACRLCParamList
=
{
CONFIG_STRING_MACRLC_LIST
,
NULL
,
0
};
paramlist_def_t
L1ParamList
=
{
CONFIG_STRING_L1_LIST
,
NULL
,
0
};
...
...
@@ -2337,4 +2379,5 @@ void RCConfig(void) {
// Get num RU instances
config_getlist
(
&
RUParamList
,
NULL
,
0
,
NULL
);
RC
.
nb_RU
=
RUParamList
.
numelt
;
RCconfig_parallel
();
}
openair2/ENB_APP/enb_paramdef.h
View file @
38d09bc7
...
...
@@ -879,3 +879,28 @@ typedef enum {
#define MACRLC_SCHED_MODE_IDX 17
#define MACRLC_PHY_TEST_IDX 18
/*---------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* thread configuration parameters section name */
#define THREAD_CONFIG_STRING_THREAD_STRUCT "THREAD_STRUCT"
/* thread configuration parameters names */
#define THREAD_CONFIG_STRING_PARALLEL "parallel_config"
#define THREAD_CONFIG_STRING_WORKER "worker_config"
#define THREAD_PARALLEL_IDX 0
#define THREAD_WORKER_IDX 1
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* thread configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/
#define THREAD_CONF_DESC { \
{THREAD_CONFIG_STRING_PARALLEL, CONFIG_HLP_PARALLEL, 0, strptr:NULL, defstrval:"PARALLEL_RU_L1_TRX_SPLIT", TYPE_STRING, 0}, \
{THREAD_CONFIG_STRING_WORKER, CONFIG_HLP_WORKER, 0, strptr:NULL, defstrval:"WORKER_ENABLE", TYPE_STRING, 0} \
}
#define CONFIG_HLP_WORKER "coding and FEP worker thread WORKER_DISABLE or WORKER_ENABLE\n"
#define CONFIG_HLP_PARALLEL "PARALLEL_SINGLE_THREAD, PARALLEL_RU_L1_SPLIT, or PARALLEL_RU_L1_TRX_SPLIT(RU_L1_TRX_SPLIT by defult)\n"
/*-------------------------------------------------------------------------------------------------------------------------------------------------------------*/
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
View file @
38d09bc7
...
...
@@ -71,7 +71,7 @@ schedule_ue_spec_phy_test(
uint16_t
rnti
=
0x1235
;
uint32_t
rb_alloc
=
0x1FFFFF
;
int32_t
tpc
=
1
;
int32_t
mcs
=
10
;
int32_t
mcs
=
28
;
int32_t
cqi
=
15
;
int32_t
ndi
=
(
frameP
*
10
+
subframeP
)
/
8
;
int32_t
dai
=
0
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.100PRB.usrpx310.conf
View file @
38d09bc7
...
...
@@ -156,6 +156,15 @@ eNBs =
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"debug"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.tm1.usrpx310.conf
View file @
38d09bc7
...
...
@@ -156,6 +156,15 @@ eNBs =
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"debug"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpx310.conf
View file @
38d09bc7
...
...
@@ -193,6 +193,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.replay.conf
View file @
38d09bc7
...
...
@@ -235,6 +235,15 @@ NETWORK_CONTROLLER :
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
/*
log_config
:
{
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
View file @
38d09bc7
...
...
@@ -225,6 +225,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
View file @
38d09bc7
...
...
@@ -238,6 +238,15 @@ NETWORK_CONTROLLER :
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210_ue_expansion.conf
View file @
38d09bc7
...
...
@@ -192,6 +192,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band38.tm1.if4p5.50PRB.lo.conf
View file @
38d09bc7
...
...
@@ -199,6 +199,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi-STUB.conf
View file @
38d09bc7
...
...
@@ -182,6 +182,15 @@ MACRLCs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"debug"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.50PRB.nfapi.conf
View file @
38d09bc7
...
...
@@ -210,6 +210,15 @@ MACRLCs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
=
{
global_log_level
=
"info"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.conf
View file @
38d09bc7
...
...
@@ -198,6 +198,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
View file @
38d09bc7
...
...
@@ -197,6 +197,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.conf
View file @
38d09bc7
...
...
@@ -17,6 +17,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.oaisim.tdd.conf
View file @
38d09bc7
...
...
@@ -18,6 +18,15 @@ RUs = (
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
= {
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
...
...
targets/RT/USER/lte-enb.c
View file @
38d09bc7
...
...
@@ -151,7 +151,8 @@ void wakeup_prach_eNB(PHY_VARS_eNB *eNB,RU_t *ru,int frame,int subframe);
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void
wakeup_prach_eNB_br
(
PHY_VARS_eNB
*
eNB
,
RU_t
*
ru
,
int
frame
,
int
subframe
);
#endif
extern
int
codingw
;
extern
PARALLEL_CONF_t
get_thread_parallel_conf
(
void
);
extern
WORKER_CONF_t
get_thread_worker_conf
(
void
);
extern
uint8_t
nfapi_mode
;
extern
void
oai_subframe_ind
(
uint16_t
sfn
,
uint16_t
sf
);
...
...
@@ -223,7 +224,7 @@ static inline int rxtx(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc, char *thread_nam
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_ENB_DLSCH_ULSCH_SCHEDULER
,
1
);
if
(
!
eNB
->
single_thread_flag
&&
get_nprocs
()
>=
8
){
if
(
get_thread_parallel_conf
()
==
PARALLEL_RU_L1_TRX_SPLIT
){
if
(
wait_on_condition
(
&
proc
[
1
].
mutex_rxtx
,
&
proc
[
1
].
cond_rxtx
,
&
proc
[
1
].
pipe_ready
,
"wakeup_tx"
)
<
0
)