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
Michael Black
OpenXG-RAN
Commits
3c9cb7f1
Commit
3c9cb7f1
authored
Jun 06, 2020
by
Andrew Burger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pairing up the dl_config_req and tx_req
Going wild..
parent
af92c512
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
5 deletions
+43
-5
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+1
-1
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+42
-4
No files found.
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
3c9cb7f1
...
...
@@ -232,7 +232,7 @@ void fill_rach_indication_UE_MAC(int Mod_id,
UL_IND_t
*
UL_INFO
,
uint8_t
ra_PreambleIndex
,
uint16_t
ra_RNTI
)
{
LOG_
D
(
MAC
,
"fill_rach_indication_UE_MAC 1
\n
"
);
LOG_
I
(
MAC
,
"fill_rach_indication_UE_MAC 1
\n
"
);
pthread_mutex_lock
(
&
fill_ul_mutex
.
rach_mutex
);
...
...
targets/RT/USER/lte-ue.c
View file @
3c9cb7f1
...
...
@@ -966,7 +966,13 @@ void ue_stub_rx_handler(unsigned int num_bytes,
}
}
uint64_t
clock_usec
()
{
struct
timespec
t
;
if
(
clock_gettime
(
CLOCK_MONOTONIC
,
&
t
)
==
-
1
)
{
abort
();
}
return
(
uint64_t
)
t
.
tv_sec
*
1000000
+
(
t
.
tv_nsec
/
1000
);
}
/*!
* \brief This is the UE thread for RX subframe n and TX subframe n+4.
* This thread performs the phy_procedures_UE_RX() on every received slot.
...
...
@@ -1048,6 +1054,9 @@ static void *UE_phy_stub_single_thread_rxn_txnp4(void *arg)
//PANOS: CAREFUL HERE!
wait_sync
(
"UE_phy_stub_single_thread_rxn_txnp4"
);
int
num_pairs
=
0
;
int
num_lone
=
0
;
while
(
!
oai_exit
)
{
if
(
ue_thread_id
==
0
)
{
if
(
phy_stub_ticking
!=
NULL
)
{
...
...
@@ -1130,9 +1139,38 @@ static void *UE_phy_stub_single_thread_rxn_txnp4(void *arg)
nfapi_dl_config_request_t
*
dl_config_req
=
get_queue
(
&
dl_config_req_queue
);
nfapi_tx_request_pdu_t
*
tx_request_pdu_list
=
get_queue
(
&
tx_req_pdu_queue
);
// if ((dl_config_req != NULL) != (tx_request_pdu_list != NULL)) {
// LOG_E(MAC, "In behemoth dl_config_req: %p tx_req_pdu_list: %p\n", dl_config_req, tx_request_pdu_list);
// }
if
((
dl_config_req
!=
NULL
)
!=
(
tx_request_pdu_list
!=
NULL
))
{
uint64_t
start
=
clock_usec
();
uint64_t
deadline
=
start
+
10000
;
for
(;;)
{
if
(
dl_config_req
==
NULL
)
{
dl_config_req
=
get_queue
(
&
dl_config_req_queue
);
}
if
(
tx_request_pdu_list
==
NULL
)
{
tx_request_pdu_list
=
get_queue
(
&
tx_req_pdu_queue
);
}
if
(
dl_config_req
&&
tx_request_pdu_list
)
{
uint64_t
elapsed
=
clock_usec
()
-
start
;
if
(
elapsed
>
1000
)
{
LOG_E
(
MAC
,
"Time difference between dl_config_req & tx_pdu is: %"
PRIu64
"usec (%d %d)
\n
"
,
elapsed
,
num_lone
,
num_pairs
);
}
break
;
}
if
(
clock_usec
()
>
deadline
)
{
LOG_E
(
MAC
,
"In behemoth dl_config_req: %p tx_req_pdu_list: %p (%d %d)
\n
"
,
dl_config_req
,
tx_request_pdu_list
,
num_lone
,
num_pairs
);
break
;
}
}
}
if
((
dl_config_req
!=
NULL
)
!=
(
tx_request_pdu_list
!=
NULL
))
{
num_lone
++
;
}
else
{
num_pairs
++
;
}
if
(
dl_config_req
&&
tx_request_pdu_list
)
{
nfapi_dl_config_request_body_t
*
dl_config_req_body
=
&
dl_config_req
->
dl_config_request_body
;
...
...
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