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
7b630cd1
Commit
7b630cd1
authored
Dec 29, 2023
by
Thomas Schlichter
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gNB phytest scheduler: skip scheduling if no HARQ process is available
parent
51ca8ca8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
1 deletion
+19
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+19
-1
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
7b630cd1
...
@@ -62,6 +62,15 @@ void nr_preprocessor_phytest(module_id_t module_id,
...
@@ -62,6 +62,15 @@ void nr_preprocessor_phytest(module_id_t module_id,
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
NR_UE_DL_BWP_t
*
dl_bwp
=
&
UE
->
current_DL_BWP
;
const
int
CC_id
=
0
;
const
int
CC_id
=
0
;
/* return if all DL HARQ processes wait for feedback */
if
(
sched_ctrl
->
retrans_dl_harq
.
head
==
-
1
&&
sched_ctrl
->
available_dl_harq
.
head
==
-
1
)
{
LOG_D
(
NR_MAC
,
"[UE %04x][%4d.%2d] UE has no free DL HARQ process, skipping
\n
"
,
UE
->
rnti
,
frame
,
slot
);
return
;
}
const
int
tda
=
get_dl_tda
(
RC
.
nrmac
[
module_id
],
scc
,
slot
);
const
int
tda
=
get_dl_tda
(
RC
.
nrmac
[
module_id
],
scc
,
slot
);
NR_tda_info_t
tda_info
=
get_dl_tda_info
(
dl_bwp
,
sched_ctrl
->
search_space
->
searchSpaceType
->
present
,
tda
,
NR_tda_info_t
tda_info
=
get_dl_tda_info
(
dl_bwp
,
sched_ctrl
->
search_space
->
searchSpaceType
->
present
,
tda
,
scc
->
dmrs_TypeA_Position
,
1
,
NR_RNTI_C
,
sched_ctrl
->
coreset
->
controlResourceSetId
,
false
);
scc
->
dmrs_TypeA_Position
,
1
,
NR_RNTI_C
,
sched_ctrl
->
coreset
->
controlResourceSetId
,
false
);
...
@@ -126,7 +135,7 @@ void nr_preprocessor_phytest(module_id_t module_id,
...
@@ -126,7 +135,7 @@ void nr_preprocessor_phytest(module_id_t module_id,
int
r_pucch
=
nr_get_pucch_resource
(
sched_ctrl
->
coreset
,
UE
->
current_UL_BWP
.
pucch_Config
,
CCEIndex
);
int
r_pucch
=
nr_get_pucch_resource
(
sched_ctrl
->
coreset
,
UE
->
current_UL_BWP
.
pucch_Config
,
CCEIndex
);
const
int
alloc
=
nr_acknack_scheduling
(
RC
.
nrmac
[
module_id
],
UE
,
frame
,
slot
,
r_pucch
,
0
);
const
int
alloc
=
nr_acknack_scheduling
(
RC
.
nrmac
[
module_id
],
UE
,
frame
,
slot
,
r_pucch
,
0
);
if
(
alloc
<
0
)
{
if
(
alloc
<
0
)
{
LOG_
D
(
MAC
,
LOG_
W
(
MAC
,
"%s(): could not find PUCCH for UE %04x@%d.%d
\n
"
,
"%s(): could not find PUCCH for UE %04x@%d.%d
\n
"
,
__func__
,
__func__
,
rnti
,
rnti
,
...
@@ -211,6 +220,15 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
...
@@ -211,6 +220,15 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
NR_UE_UL_BWP_t
*
ul_bwp
=
&
UE
->
current_UL_BWP
;
const
int
mu
=
ul_bwp
->
scs
;
const
int
mu
=
ul_bwp
->
scs
;
/* return if all UL HARQ processes wait for feedback */
if
(
sched_ctrl
->
retrans_ul_harq
.
head
==
-
1
&&
sched_ctrl
->
available_ul_harq
.
head
==
-
1
)
{
LOG_D
(
NR_MAC
,
"[UE %04x][%4d.%2d] UE has no free UL HARQ process, skipping
\n
"
,
UE
->
rnti
,
frame
,
slot
);
return
false
;
}
NR_PUSCH_TimeDomainResourceAllocationList_t
*
tdaList
=
get_ul_tdalist
(
ul_bwp
,
sched_ctrl
->
coreset
->
controlResourceSetId
,
sched_ctrl
->
search_space
->
searchSpaceType
->
present
,
NR_RNTI_C
);
NR_PUSCH_TimeDomainResourceAllocationList_t
*
tdaList
=
get_ul_tdalist
(
ul_bwp
,
sched_ctrl
->
coreset
->
controlResourceSetId
,
sched_ctrl
->
search_space
->
searchSpaceType
->
present
,
NR_RNTI_C
);
const
int
temp_tda
=
get_ul_tda
(
nr_mac
,
scc
,
frame
,
slot
);
const
int
temp_tda
=
get_ul_tda
(
nr_mac
,
scc
,
frame
,
slot
);
if
(
temp_tda
<
0
)
if
(
temp_tda
<
0
)
...
...
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