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
973a0795
Commit
973a0795
authored
Jun 17, 2019
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update ue dlsch decoding multi-threading
parent
08e91003
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
245 additions
and
794 deletions
+245
-794
executables/nr-ue.c
executables/nr-ue.c
+6
-0
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+232
-788
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+1
-1
openair1/PHY/defs_common.h
openair1/PHY/defs_common.h
+1
-0
openair1/PHY/defs_nr_UE.h
openair1/PHY/defs_nr_UE.h
+3
-3
openair1/PHY/thread_NR_UE.h
openair1/PHY/thread_NR_UE.h
+1
-1
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+1
-1
No files found.
executables/nr-ue.c
View file @
973a0795
...
@@ -742,6 +742,7 @@ void init_UE(int nb_inst) {
...
@@ -742,6 +742,7 @@ void init_UE(int nb_inst) {
int
inst
;
int
inst
;
NR_UE_MAC_INST_t
*
mac_inst
;
NR_UE_MAC_INST_t
*
mac_inst
;
pthread_t
threads
[
nb_inst
];
pthread_t
threads
[
nb_inst
];
pthread_t
dlsch0_threads
;
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
...
@@ -763,6 +764,11 @@ void init_UE(int nb_inst) {
...
@@ -763,6 +764,11 @@ void init_UE(int nb_inst) {
mac_inst
->
initial_bwp_ul
.
cyclic_prefix
=
UE
->
frame_parms
.
Ncp
;
mac_inst
->
initial_bwp_ul
.
cyclic_prefix
=
UE
->
frame_parms
.
Ncp
;
LOG_I
(
PHY
,
"Intializing UE Threads for instance %d (%p,%p)...
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
],
PHY_vars_UE_g
[
inst
][
0
]);
LOG_I
(
PHY
,
"Intializing UE Threads for instance %d (%p,%p)...
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
],
PHY_vars_UE_g
[
inst
][
0
]);
threadCreate
(
&
threads
[
inst
],
UE_thread
,
(
void
*
)
UE
,
"UEthread"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
threadCreate
(
&
threads
[
inst
],
UE_thread
,
(
void
*
)
UE
,
"UEthread"
,
-
1
,
OAI_PRIORITY_RT_MAX
);
#ifdef UE_DLSCH_PARALLELISATION
threadCreate
(
&
dlsch0_threads
,
dlsch_thread
,
(
void
*
)
UE
,
"DLthread"
,
-
1
,
OAI_PRIORITY_RT_MAX
-
1
);
#endif
}
}
printf
(
"UE threads created by %ld
\n
"
,
gettid
());
printf
(
"UE threads created by %ld
\n
"
,
gettid
());
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
973a0795
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
973a0795
...
@@ -1818,6 +1818,6 @@ int nr_extract_dci_info(PHY_VARS_NR_UE *ue,
...
@@ -1818,6 +1818,6 @@ int nr_extract_dci_info(PHY_VARS_NR_UE *ue,
uint16_t
n_RB_DLBWP
,
uint16_t
n_RB_DLBWP
,
uint16_t
crc_scrambled_values
[
TOTAL_NBR_SCRAMBLED_VALUES
]);
uint16_t
crc_scrambled_values
[
TOTAL_NBR_SCRAMBLED_VALUES
]);
void
*
dlsch_thread
(
void
*
arg
);
/**@}*/
/**@}*/
#endif
#endif
openair1/PHY/defs_common.h
View file @
973a0795
...
@@ -80,6 +80,7 @@
...
@@ -80,6 +80,7 @@
#define RX_NB_TH_MAX 2
#define RX_NB_TH_MAX 2
#define RX_NB_TH 2
#define RX_NB_TH 2
#define RX_NB_TH_DL 2
#define LTE_SLOTS_PER_SUBFRAME 2
#define LTE_SLOTS_PER_SUBFRAME 2
...
...
openair1/PHY/defs_nr_UE.h
View file @
973a0795
...
@@ -1221,10 +1221,10 @@ typedef struct {
...
@@ -1221,10 +1221,10 @@ typedef struct {
/* this structure is used to pass both UE phy vars and
/* this structure is used to pass both UE phy vars and
* proc to the function UE_thread_rxn_txnp4
* proc to the function UE_thread_rxn_txnp4
*/
*/
struct
nr_rxtx_thread_data
{
typedef
struct
nr_rxtx_thread_data_s
{
UE_nr_rxtx_proc_t
proc
;
PHY_VARS_NR_UE
*
UE
;
PHY_VARS_NR_UE
*
UE
;
UE_nr_rxtx_proc_t
*
proc
;
}
nr_rxtx_thread_data_t
;
};
/*static inline int wait_on_condition(pthread_mutex_t *mutex,pthread_cond_t *cond,int *instance_cnt,char *name) {
/*static inline int wait_on_condition(pthread_mutex_t *mutex,pthread_cond_t *cond,int *instance_cnt,char *name) {
...
...
openair1/PHY/thread_NR_UE.h
View file @
973a0795
...
@@ -60,7 +60,7 @@ typedef struct {
...
@@ -60,7 +60,7 @@ typedef struct {
uint8_t
decoder_thread_available
;
uint8_t
decoder_thread_available
;
uint8_t
decoder_main_available
;
uint8_t
decoder_main_available
;
uint8_t
decoder_switch
;
uint8_t
decoder_switch
;
int
counter_decoder
;
int
num_seg
;
uint8_t
channel_level
;
uint8_t
channel_level
;
int
eNB_id
;
int
eNB_id
;
int
harq_pid
;
int
harq_pid
;
...
...
openair1/SCHED_NR_UE/defs.h
View file @
973a0795
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
#define OPENAIR_THREAD_STACK_SIZE PTHREAD_STACK_MIN //4096 //RTL_PTHREAD_STACK_MIN*6
#define OPENAIR_THREAD_STACK_SIZE PTHREAD_STACK_MIN //4096 //RTL_PTHREAD_STACK_MIN*6
//#define DLC_THREAD_STACK_SIZE 4096 //DLC stack size
//#define DLC_THREAD_STACK_SIZE 4096 //DLC stack size
//#define UE_SLOT_PARALLELISATION
//#define UE_SLOT_PARALLELISATION
//#define UE_DLSCH_PARALLELISATION
#define UE_DLSCH_PARALLELISATION//
/*enum openair_SCHED_STATUS {
/*enum openair_SCHED_STATUS {
openair_SCHED_STOPPED=1,
openair_SCHED_STOPPED=1,
...
...
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