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
d82a0d90
Commit
d82a0d90
authored
Dec 12, 2017
by
Wang Tsu-Han
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding ulsch_decoding multiy threading
parent
7ac9d2ab
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
21 deletions
+26
-21
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+19
-14
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+1
-1
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+4
-4
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+1
-1
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+1
-1
No files found.
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
d82a0d90
...
...
@@ -207,20 +207,6 @@ uint8_t extract_cqi_crc(uint8_t *cqi,uint8_t CQI_LENGTH)
/*int ulsch_decoding_data_all(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
{
int value = 0;
if()
{
value = ulsch_decoding_data_2thread(eNB,UE_id,harq_pid,llr8_flag);
}
else
{
value = ulsch_decoding_data(eNB,UE_id,harq_pid,llr8_flag);
}
return value;
}*/
int
ulsch_decoding_data_2thread0
(
td_params
*
tdp
)
{
...
...
@@ -429,6 +415,9 @@ void *td_thread(void *param) {
pthread_setname_np
(
pthread_self
(),
"td processing"
);
PHY_VARS_eNB
*
eNB
=
((
td_params
*
)
param
)
->
eNB
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
pthread_setname_np
(
pthread_self
(),
"td processing"
);
LOG_I
(
PHY
,
"thread td created id=%ld
\n
"
,
syscall
(
__NR_gettid
));
while
(
!
oai_exit
)
{
...
...
@@ -820,6 +809,22 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
return
(
ret
);
}
int
ulsch_decoding_data_all
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
int
harq_pid
,
int
llr8_flag
)
{
int
ret
=
0
;
LTE_eNB_ULSCH_t
*
ulsch
=
eNB
->
ulsch
[
UE_id
];
LTE_UL_eNB_HARQ_t
*
ulsch_harq
=
ulsch
->
harq_processes
[
harq_pid
];
if
(
ulsch_harq
->
C
>
3
)
{
ret
=
ulsch_decoding_data_2thread
(
eNB
,
UE_id
,
harq_pid
,
llr8_flag
);
}
else
{
ret
=
ulsch_decoding_data
(
eNB
,
UE_id
,
harq_pid
,
llr8_flag
);
}
return
ret
;
}
static
inline
unsigned
int
lte_gold_unscram
(
unsigned
int
*
x1
,
unsigned
int
*
x2
,
unsigned
char
reset
)
__attribute__
((
always_inline
));
static
inline
unsigned
int
lte_gold_unscram
(
unsigned
int
*
x1
,
unsigned
int
*
x2
,
unsigned
char
reset
)
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
View file @
d82a0d90
...
...
@@ -71,7 +71,7 @@ schedule_ue_spec_phy_test(
uint16_t
rnti
=
0x1235
;
uint32_t
rb_alloc
=
0x1FFFFFFF
;
int32_t
tpc
=
1
;
int32_t
mcs
=
2
2
;
int32_t
mcs
=
2
8
;
int32_t
cqi
=
15
;
int32_t
ndi
=
subframeP
/
5
;
int32_t
dai
=
0
;
...
...
targets/RT/USER/lte-enb.c
View file @
d82a0d90
...
...
@@ -719,7 +719,7 @@ void init_eNB_proc(int inst) {
PHY_VARS_eNB
*
eNB
;
eNB_proc_t
*
proc
;
eNB_rxtx_proc_t
*
proc_rxtx
;
pthread_attr_t
*
attr0
=
NULL
,
*
attr1
=
NULL
,
*
attr_prach
=
NULL
,
*
attr_te
=
NULL
,
*
attr_te1
=
NULL
;
//
*attr_td=NULL;
pthread_attr_t
*
attr0
=
NULL
,
*
attr1
=
NULL
,
*
attr_prach
=
NULL
,
*
attr_te
=
NULL
,
*
attr_te1
=
NULL
,
*
attr_td
=
NULL
;
#ifdef Rel14
pthread_attr_t
*
attr_prach_br
=
NULL
;
#endif
...
...
@@ -783,7 +783,7 @@ void init_eNB_proc(int inst) {
// attr_td = &proc->attr_td;
// attr_te = &proc->attr_te;
#endif
//
attr_td = &proc->attr_td;
attr_td
=
&
proc
->
attr_td
;
attr_te
=
&
proc
->
attr_te
[
0
];
attr_te1
=
&
proc
->
attr_te
[
1
];
pthread_create
(
&
proc_rxtx
[
0
].
pthread_rxtx
,
attr0
,
eNB_thread_rxtx
,
proc
);
...
...
@@ -809,7 +809,7 @@ void init_eNB_proc(int inst) {
//////////////////////////////////////need to modified////////////////*****
init_te_thread
(
eNB
,
attr_te
,
attr_te1
);
//
init_td_thread(eNB,attr_td);
init_td_thread
(
eNB
,
attr_td
);
if
(
opp_enabled
==
1
)
pthread_create
(
&
proc
->
process_stats_thread
,
NULL
,
process_stats_thread
,(
void
*
)
eNB
);
...
...
@@ -1070,7 +1070,7 @@ void init_eNB(int single_thread_flag,int wait_for_sync) {
#endif
eNB
->
td
=
ulsch_decoding_data
;
//(get_nprocs()<=4) ? ulsch_decoding_data : ulsch_decoding_data_2thread;
eNB
->
td
=
ulsch_decoding_data
_all
;
//(get_nprocs()<=4) ? ulsch_decoding_data : ulsch_decoding_data_2thread;
eNB
->
te
=
dlsch_encoding_all
;
//(get_nprocs()<=4) ? dlsch_encoding : dlsch_encoding_2threads;
...
...
targets/RT/USER/lte-ru.c
View file @
d82a0d90
...
...
@@ -689,7 +689,7 @@ static void* emulatedRF_thread(void* param) {
int
microsec
=
500
;
// length of time to sleep, in miliseconds
struct
timespec
req
=
{
0
};
req
.
tv_sec
=
0
;
req
.
tv_nsec
=
microsec
*
1000L
;
req
.
tv_nsec
=
((
microsec
*
1000L
)
/
numerology
)
;
cpu_set_t
cpuset
;
CPU_SET
(
1
,
&
cpuset
);
pthread_setaffinity_np
(
pthread_self
(),
sizeof
(
cpu_set_t
),
&
cpuset
);
...
...
targets/RT/USER/lte-softmodem.c
View file @
d82a0d90
...
...
@@ -206,7 +206,7 @@ extern void reset_opp_meas(void);
extern
void
print_opp_meas
(
void
);
int
transmission_mode
=
1
;
int
numerology
=
0
;
int
numerology
=
2
;
int
fh_two_thread
=
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