Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
7fdcb269
Commit
7fdcb269
authored
Aug 07, 2019
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ue_dlsch-multi-threading' into integration_develop-nr_2019w32
parents
327b3b46
415b2394
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
233 additions
and
792 deletions
+233
-792
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
+221
-787
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
No files found.
executables/nr-ue.c
View file @
7fdcb269
...
@@ -747,6 +747,7 @@ void init_UE(int nb_inst) {
...
@@ -747,6 +747,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
];
...
@@ -768,6 +769,11 @@ void init_UE(int nb_inst) {
...
@@ -768,6 +769,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 @
7fdcb269
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
7fdcb269
...
@@ -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 @
7fdcb269
...
@@ -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 @
7fdcb269
...
@@ -1227,10 +1227,10 @@ typedef struct {
...
@@ -1227,10 +1227,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 @
7fdcb269
...
@@ -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
;
...
...
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