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
93d8e02c
Commit
93d8e02c
authored
Mar 22, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/Multi_UE_support_for_32' into integration_2024_w12
parents
dea9271b
5697f396
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
9 deletions
+15
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+7
-7
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+3
-0
openair2/LAYER2/NR_MAC_gNB/main.c
openair2/LAYER2/NR_MAC_gNB/main.c
+1
-1
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
93d8e02c
...
...
@@ -241,7 +241,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frame, sub_frame_
}
if
((
slot
==
0
)
&&
(
frame
&
127
)
==
0
)
{
char
stats_output
[
16000
]
=
{
0
};
char
stats_output
[
32656
]
=
{
0
};
dump_mac_stats
(
gNB
,
stats_output
,
sizeof
(
stats_output
),
true
);
LOG_I
(
NR_MAC
,
"Frame.Slot %d.%d
\n
%s
\n
"
,
frame
,
slot
,
stats_output
);
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
93d8e02c
...
...
@@ -875,6 +875,9 @@ static void nr_fr1_dlsch_preprocessor(module_id_t module_id, frame_t frame, sub_
int
average_agg_level
=
4
;
// TODO find a better estimation
int
max_sched_ues
=
bw
/
(
average_agg_level
*
NR_NB_REG_PER_CCE
);
// FAPI cannot handle more than MAX_DCI_CORESET DCIs
max_sched_ues
=
min
(
max_sched_ues
,
MAX_DCI_CORESET
);
/* proportional fair scheduling algorithm */
pf_dl
(
module_id
,
frame
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
93d8e02c
...
...
@@ -678,24 +678,24 @@ int get_mcs_from_bler(const NR_bler_options_t *bler_options,
return
old_mcs
;
// no update
// last update is longer than x frames ago
const
int
dtx
=
(
int
)(
stats
->
rounds
[
0
]
-
bler_stats
->
rounds
[
0
]);
const
int
d
retx
=
(
int
)(
stats
->
rounds
[
1
]
-
bler_stats
->
rounds
[
1
]);
const
float
bler_window
=
dtx
>
0
?
(
float
)
dretx
/
dtx
:
bler_stats
->
bler
;
const
int
num_dl_sched
=
(
int
)(
stats
->
rounds
[
0
]
-
bler_stats
->
rounds
[
0
]);
const
int
num_dl_
retx
=
(
int
)(
stats
->
rounds
[
1
]
-
bler_stats
->
rounds
[
1
]);
const
float
bler_window
=
num_dl_sched
>
0
?
(
float
)
num_dl_retx
/
num_dl_sched
:
bler_stats
->
bler
;
bler_stats
->
bler
=
BLER_FILTER
*
bler_stats
->
bler
+
(
1
-
BLER_FILTER
)
*
bler_window
;
int
new_mcs
=
old_mcs
;
if
(
bler_stats
->
bler
<
bler_options
->
lower
&&
old_mcs
<
max_mcs
&&
dtx
>
9
)
if
(
bler_stats
->
bler
<
bler_options
->
lower
&&
old_mcs
<
max_mcs
&&
num_dl_sched
>
3
)
new_mcs
+=
1
;
else
if
((
bler_stats
->
bler
>
bler_options
->
upper
&&
old_mcs
>
6
)
// above threshold
||
(
dtx
<=
3
&&
old_mcs
>
9
))
// no activity
||
(
num_dl_sched
<=
3
&&
old_mcs
>
9
))
// no activity
new_mcs
-=
1
;
// else we are within threshold boundaries
bler_stats
->
last_frame
=
frame
;
bler_stats
->
mcs
=
new_mcs
;
memcpy
(
bler_stats
->
rounds
,
stats
->
rounds
,
sizeof
(
stats
->
rounds
));
LOG_D
(
MAC
,
"frame %4d MCS %d -> %d (
dtx %d, d
retx %d, BLER wnd %.3f avg %.6f)
\n
"
,
frame
,
old_mcs
,
new_mcs
,
dtx
,
d
retx
,
bler_window
,
bler_stats
->
bler
);
LOG_D
(
MAC
,
"frame %4d MCS %d -> %d (
num_dl_sched %d, num_dl_
retx %d, BLER wnd %.3f avg %.6f)
\n
"
,
frame
,
old_mcs
,
new_mcs
,
num_dl_sched
,
num_dl_
retx
,
bler_window
,
bler_stats
->
bler
);
return
new_mcs
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
93d8e02c
...
...
@@ -2035,6 +2035,9 @@ static bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_
int
average_agg_level
=
4
;
// TODO find a better estimation
int
max_sched_ues
=
bw
/
(
average_agg_level
*
NR_NB_REG_PER_CCE
);
// FAPI cannot handle more than MAX_DCI_CORESET DCIs
max_sched_ues
=
min
(
max_sched_ues
,
MAX_DCI_CORESET
);
/* proportional fair scheduling algorithm */
pf_ul
(
module_id
,
frame
,
...
...
openair2/LAYER2/NR_MAC_gNB/main.c
View file @
93d8e02c
...
...
@@ -45,7 +45,7 @@
extern
RAN_CONTEXT_t
RC
;
#define MACSTATSSTRLEN
16000
#define MACSTATSSTRLEN
36256
void
*
nrmac_stats_thread
(
void
*
arg
)
{
...
...
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