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
spbro
OpenXG-RAN
Commits
82aebfa6
Commit
82aebfa6
authored
Nov 07, 2019
by
Hongzhi Wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add thread pool for dlsch
parent
bc864d13
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
12 deletions
+18
-12
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+6
-1
executables/nr-uesoftmodem.h
executables/nr-uesoftmodem.h
+1
-0
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+7
-7
openair1/PHY/defs_common.h
openair1/PHY/defs_common.h
+3
-3
openair1/SCHED_NR_UE/defs.h
openair1/SCHED_NR_UE/defs.h
+1
-1
No files found.
executables/nr-uesoftmodem.c
View file @
82aebfa6
...
@@ -206,6 +206,7 @@ int oaisim_flag=0;
...
@@ -206,6 +206,7 @@ int oaisim_flag=0;
int
emulate_rf
=
0
;
int
emulate_rf
=
0
;
tpool_t
*
Tpool
;
tpool_t
*
Tpool
;
tpool_t
*
Tpool_dl
;
char
*
usrp_args
=
NULL
;
char
*
usrp_args
=
NULL
;
...
@@ -672,8 +673,12 @@ int main( int argc, char **argv ) {
...
@@ -672,8 +673,12 @@ int main( int argc, char **argv ) {
set_taus_seed
(
0
);
set_taus_seed
(
0
);
tpool_t
pool
;
tpool_t
pool
;
Tpool
=
&
pool
;
Tpool
=
&
pool
;
char
params
[]
=
"-1,-1"
;
char
params
[]
=
"-1,-1
,-1
"
;
initTpool
(
params
,
Tpool
,
false
);
initTpool
(
params
,
Tpool
,
false
);
tpool_t
pool_dl
;
Tpool_dl
=
&
pool_dl
;
char
params_dl
[]
=
"-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1"
;
initTpool
(
params_dl
,
Tpool_dl
,
false
);
cpuf
=
get_cpu_freq_GHz
();
cpuf
=
get_cpu_freq_GHz
();
itti_init
(
TASK_MAX
,
THREAD_MAX
,
MESSAGES_ID_MAX
,
tasks_info
,
messages_info
);
itti_init
(
TASK_MAX
,
THREAD_MAX
,
MESSAGES_ID_MAX
,
tasks_info
,
messages_info
);
...
...
executables/nr-uesoftmodem.h
View file @
82aebfa6
...
@@ -103,4 +103,5 @@ extern void print_opp_meas(void);
...
@@ -103,4 +103,5 @@ extern void print_opp_meas(void);
void
*
UE_thread
(
void
*
arg
);
void
*
UE_thread
(
void
*
arg
);
PHY_VARS_NR_UE
*
init_nr_ue_vars
(
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
UE_id
,
uint8_t
abstraction_flag
);
PHY_VARS_NR_UE
*
init_nr_ue_vars
(
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
UE_id
,
uint8_t
abstraction_flag
);
extern
tpool_t
*
Tpool
;
extern
tpool_t
*
Tpool
;
extern
tpool_t
*
Tpool_dl
;
#endif
#endif
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
82aebfa6
...
@@ -531,7 +531,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -531,7 +531,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
//LOG_E(PHY,"AbsSubframe %d.%d Start LDPC segment %d/%d A %d ",frame%1024,nr_tti_rx,r,harq_process->C-1, A);
//LOG_E(PHY,"AbsSubframe %d.%d Start LDPC segment %d/%d A %d ",frame%1024,nr_tti_rx,r,harq_process->C-1, A);
//
printf("harq process dr iteration %d\n", p_decParams->numMaxIter);
printf
(
"harq process dr iteration %d
\n
"
,
p_decParams
->
numMaxIter
);
memset
(
pv
,
0
,
2
*
harq_process
->
Z
*
sizeof
(
int16_t
));
memset
(
pv
,
0
,
2
*
harq_process
->
Z
*
sizeof
(
int16_t
));
//memset(pl,0,2*p_decParams->Z*sizeof(int8_t));
//memset(pl,0,2*p_decParams->Z*sizeof(int8_t));
...
@@ -570,7 +570,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -570,7 +570,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
ret
=
no_iteration_ldpc
;
ret
=
no_iteration_ldpc
;
}
}
else
{
else
{
printf
(
"
\x1B
[33m"
"
CRC NOK
\n\033
[0m"
);
printf
(
"
\x1B
[33m"
"
Segment %d CRC NOK
\n
"
,
r
);
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
}
}
...
@@ -943,7 +943,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -943,7 +943,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
opp_enabled
=
1
;
opp_enabled
=
1
;
if
(
harq_process
->
C
>
1
)
{
if
(
harq_process
->
C
>
1
)
{
for
(
int
nb_seg
=
1
;
nb_seg
<
harq_process
->
C
;
nb_seg
++
){
for
(
int
nb_seg
=
1
;
nb_seg
<
harq_process
->
C
;
nb_seg
++
){
if
(
(
res
=
tryPullTpool
(
&
nf
,
Tpool
))
!=
NULL
)
{
if
(
(
res
=
tryPullTpool
(
&
nf
,
Tpool
_dl
))
!=
NULL
)
{
pushNotifiedFIFO_nothreadSafe
(
&
freeBlocks
,
res
);
pushNotifiedFIFO_nothreadSafe
(
&
freeBlocks
,
res
);
}
}
...
@@ -961,7 +961,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -961,7 +961,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
curMsg
->
proc
.
llr8_flag
=
llr8_flag
;
curMsg
->
proc
.
llr8_flag
=
llr8_flag
;
msgToPush
->
key
=
nb_seg
;
msgToPush
->
key
=
nb_seg
;
pushTpool
(
Tpool
,
msgToPush
);
pushTpool
(
Tpool
_dl
,
msgToPush
);
/*Qm= harq_process->Qm;
/*Qm= harq_process->Qm;
Nl=harq_process->Nl;
Nl=harq_process->Nl;
...
@@ -1112,7 +1112,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
...
@@ -1112,7 +1112,7 @@ uint32_t nr_dlsch_decoding_mthread(PHY_VARS_NR_UE *phy_vars_ue,
#if UE_TIMING_TRACE
#if UE_TIMING_TRACE
start_meas
(
dlsch_turbo_decoding_stats
);
start_meas
(
dlsch_turbo_decoding_stats
);
#endif
#endif
LOG_
D
(
PHY
,
"mthread AbsSubframe %d.%d Start LDPC segment %d/%d
\n
"
,
frame
%
1024
,
nr_tti_rx
,
r
,
harq_process
->
C
-
1
);
LOG_
I
(
PHY
,
"mthread AbsSubframe %d.%d Start LDPC segment %d/%d
\n
"
,
frame
%
1024
,
nr_tti_rx
,
r
,
harq_process
->
C
-
1
);
/*for (int cnt =0; cnt < (kc-2)*p_decParams->Z; cnt++){
/*for (int cnt =0; cnt < (kc-2)*p_decParams->Z; cnt++){
inv_d[cnt] = (1)*harq_process->d[r][cnt];
inv_d[cnt] = (1)*harq_process->d[r][cnt];
...
@@ -1689,7 +1689,7 @@ void *nr_dlsch_decoding_process(void *arg)
...
@@ -1689,7 +1689,7 @@ void *nr_dlsch_decoding_process(void *arg)
ret
=
2
;
ret
=
2
;
}
}
else
{
else
{
printf
(
"
CRC NOK
\n
"
);
printf
(
"
Segment %d CRC NOK
\n
"
,
r
);
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
ret
=
1
+
dlsch
->
max_ldpc_iterations
;
}
}
...
@@ -1757,7 +1757,7 @@ void *dlsch_thread(void *arg) {
...
@@ -1757,7 +1757,7 @@ void *dlsch_thread(void *arg) {
notifiedFIFO_elt_t
*
res
;
notifiedFIFO_elt_t
*
res
;
while
(
nbDlProcessing
>=
RX_NB_TH_DL
)
{
while
(
nbDlProcessing
>=
RX_NB_TH_DL
)
{
if
(
(
res
=
tryPullTpool
(
&
nf
,
Tpool
))
!=
NULL
)
{
if
(
(
res
=
tryPullTpool
(
&
nf
,
Tpool
_dl
))
!=
NULL
)
{
nr_rxtx_thread_data_t
*
tmp
=
(
nr_rxtx_thread_data_t
*
)
res
->
msgData
;
nr_rxtx_thread_data_t
*
tmp
=
(
nr_rxtx_thread_data_t
*
)
res
->
msgData
;
nbDlProcessing
--
;
nbDlProcessing
--
;
pushNotifiedFIFO_nothreadSafe
(
&
freeBlocks
,
res
);
pushNotifiedFIFO_nothreadSafe
(
&
freeBlocks
,
res
);
...
...
openair1/PHY/defs_common.h
View file @
82aebfa6
...
@@ -76,9 +76,9 @@
...
@@ -76,9 +76,9 @@
#include "defs_RU.h"
#include "defs_RU.h"
#define RX_NB_TH_MAX
2
#define RX_NB_TH_MAX
3
#define RX_NB_TH
2
#define RX_NB_TH
3
#define RX_NB_TH_DL 2
#define RX_NB_TH_DL
1
2
#define LTE_SLOTS_PER_SUBFRAME 2
#define LTE_SLOTS_PER_SUBFRAME 2
...
...
openair1/SCHED_NR_UE/defs.h
View file @
82aebfa6
...
@@ -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