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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
d72e8da2
Commit
d72e8da2
authored
2 years ago
by
Thomas Schlichter
Committed by
Marwan Hammouda
2 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improve tracking of in-flight UL data for better UL scheduling
parent
353d42a1
Branches unavailable
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
10 additions
and
3 deletions
+10
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+5
-3
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+4
-0
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
d72e8da2
...
@@ -166,7 +166,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
...
@@ -166,7 +166,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
NR_BSR_SHORT
*
bsr_s
=
(
NR_BSR_SHORT
*
)
ce_ptr
;
NR_BSR_SHORT
*
bsr_s
=
(
NR_BSR_SHORT
*
)
ce_ptr
;
sched_ctrl
->
estimated_ul_buffer
=
0
;
sched_ctrl
->
estimated_ul_buffer
=
0
;
sched_ctrl
->
estimated_ul_buffer
=
NR_SHORT_BSR_TABLE
[
bsr_s
->
Buffer_size
];
sched_ctrl
->
estimated_ul_buffer
=
NR_SHORT_BSR_TABLE
[
bsr_s
->
Buffer_size
];
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"SHORT BSR at %4d.%2d, LCG ID %d, BS Index %d, BS value < %d, est buf %d
\n
"
,
"SHORT BSR at %4d.%2d, LCG ID %d, BS Index %d, BS value < %d, est buf %d
\n
"
,
frameP
,
frameP
,
slot
,
slot
,
...
@@ -205,7 +205,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
...
@@ -205,7 +205,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
n
,
n_Lcg
,
pduP
[
mac_subheader_len
+
1
+
n
],
n
,
n_Lcg
,
pduP
[
mac_subheader_len
+
1
+
n
],
NR_LONG_BSR_TABLE
[
pduP
[
mac_subheader_len
+
1
+
n
]]);
NR_LONG_BSR_TABLE
[
pduP
[
mac_subheader_len
+
1
+
n
]]);
sched_ctrl
->
estimated_ul_buffer
+=
NR_LONG_BSR_TABLE
[
pduP
[
mac_subheader_len
+
1
+
n
]];
sched_ctrl
->
estimated_ul_buffer
+=
NR_LONG_BSR_TABLE
[
pduP
[
mac_subheader_len
+
1
+
n
]];
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"LONG BSR at %4d.%2d, %d/%d (n/n_Lcg), BS Index %d, BS value < %d, total %d
\n
"
,
"LONG BSR at %4d.%2d, %d/%d (n/n_Lcg), BS Index %d, BS value < %d, total %d
\n
"
,
frameP
,
frameP
,
slot
,
slot
,
...
@@ -605,7 +605,6 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
...
@@ -605,7 +605,6 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
if
(
UE
&&
UE_waiting_CFRA_msg3
==
false
)
{
if
(
UE
&&
UE_waiting_CFRA_msg3
==
false
)
{
NR_UE_sched_ctrl_t
*
UE_scheduling_control
=
&
UE
->
UE_sched_ctrl
;
NR_UE_sched_ctrl_t
*
UE_scheduling_control
=
&
UE
->
UE_sched_ctrl
;
const
int8_t
harq_pid
=
UE_scheduling_control
->
feedback_ul_harq
.
head
;
if
(
sduP
)
if
(
sduP
)
T
(
T_GNB_MAC_UL_PDU_WITH_DATA
,
T_INT
(
gnb_mod_idP
),
T_INT
(
CC_idP
),
T
(
T_GNB_MAC_UL_PDU_WITH_DATA
,
T_INT
(
gnb_mod_idP
),
T_INT
(
CC_idP
),
...
@@ -858,6 +857,7 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
...
@@ -858,6 +857,7 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
const
frame_t
frameP
,
const
frame_t
frameP
,
const
sub_frame_t
slotP
,
const
sub_frame_t
slotP
,
const
rnti_t
rntiP
,
const
rnti_t
rntiP
,
const
int8_t
harq_pid
,
uint8_t
*
sduP
,
uint8_t
*
sduP
,
const
uint16_t
sdu_lenP
,
const
uint16_t
sdu_lenP
,
const
uint16_t
timing_advance
,
const
uint16_t
timing_advance
,
...
@@ -2148,6 +2148,8 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
...
@@ -2148,6 +2148,8 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot, n
sched_ctrl
->
sched_ul_bytes
+=
sched_pusch
->
tb_size
;
sched_ctrl
->
sched_ul_bytes
+=
sched_pusch
->
tb_size
;
UE
->
mac_stats
.
ul
.
total_rbs
+=
sched_pusch
->
rbSize
;
UE
->
mac_stats
.
ul
.
total_rbs
+=
sched_pusch
->
rbSize
;
if
(
sched_ctrl
->
sched_ul_bytes
>
20000
)
sched_ctrl
->
sched_ul_bytes
=
20000
;
}
else
{
}
else
{
LOG_D
(
NR_MAC
,
LOG_D
(
NR_MAC
,
"%d.%2d UL retransmission RNTI %04x sched %d.%2d HARQ PID %d round %d NDI %d
\n
"
,
"%d.%2d UL retransmission RNTI %04x sched %d.%2d HARQ PID %d round %d NDI %d
\n
"
,
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
d72e8da2
...
@@ -353,6 +353,7 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
...
@@ -353,6 +353,7 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
const
frame_t
frameP
,
const
frame_t
frameP
,
const
sub_frame_t
subframeP
,
const
sub_frame_t
subframeP
,
const
rnti_t
rntiP
,
const
rnti_t
rntiP
,
const
int8_t
harq_pid
,
uint8_t
*
sduP
,
uint8_t
*
sduP
,
const
uint16_t
sdu_lenP
,
const
uint16_t
sdu_lenP
,
const
uint16_t
timing_advance
,
const
uint16_t
timing_advance
,
...
...
This diff is collapsed.
Click to expand it.
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
d72e8da2
...
@@ -190,6 +190,9 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info)
...
@@ -190,6 +190,9 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info)
AssertFatal
(
crc
->
rnti
==
rx
->
rnti
,
"mis-match between CRC RNTI %04x and RX RNTI %04x
\n
"
,
AssertFatal
(
crc
->
rnti
==
rx
->
rnti
,
"mis-match between CRC RNTI %04x and RX RNTI %04x
\n
"
,
crc
->
rnti
,
rx
->
rnti
);
crc
->
rnti
,
rx
->
rnti
);
AssertFatal
(
crc
->
harq_id
==
rx
->
harq_id
,
"mis-match between CRC HARQ ID %04x and RX HARQ ID %04x
\n
"
,
crc
->
harq_id
,
rx
->
harq_id
);
LOG_D
(
NR_MAC
,
LOG_D
(
NR_MAC
,
"%4d.%2d Calling rx_sdu (CRC %s/tb_crc_status %d)
\n
"
,
"%4d.%2d Calling rx_sdu (CRC %s/tb_crc_status %d)
\n
"
,
UL_info
->
frame
,
UL_info
->
frame
,
...
@@ -203,6 +206,7 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info)
...
@@ -203,6 +206,7 @@ void handle_nr_ulsch(NR_UL_IND_t *UL_info)
UL_info
->
rx_ind
.
sfn
,
UL_info
->
rx_ind
.
sfn
,
UL_info
->
rx_ind
.
slot
,
UL_info
->
rx_ind
.
slot
,
rx
->
rnti
,
rx
->
rnti
,
rx
->
harq_id
,
crc
->
tb_crc_status
?
NULL
:
rx
->
pdu
,
crc
->
tb_crc_status
?
NULL
:
rx
->
pdu
,
rx
->
pdu_length
,
rx
->
pdu_length
,
rx
->
timing_advance
,
rx
->
timing_advance
,
...
...
This diff is collapsed.
Click to expand it.
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