Added more checks when applying dci decisions in the dataplane, to reduce RLC request misses
This commit is contained in:
@@ -181,6 +181,17 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
|
|||||||
mod_id, frame, lcid, CC_id, rlc_size);
|
mod_id, frame, lcid, CC_id, rlc_size);
|
||||||
if (rlc_size > 0) {
|
if (rlc_size > 0) {
|
||||||
|
|
||||||
|
rlc_status = mac_rlc_status_ind(mod_id,
|
||||||
|
rnti,
|
||||||
|
mod_id,
|
||||||
|
frame,
|
||||||
|
ENB_FLAG_YES,
|
||||||
|
MBMS_FLAG_NO,
|
||||||
|
lcid,
|
||||||
|
0);
|
||||||
|
|
||||||
|
if (rlc_status.bytes_in_buffer > 0) {
|
||||||
|
|
||||||
rlc_status = mac_rlc_status_ind(mod_id,
|
rlc_status = mac_rlc_status_ind(mod_id,
|
||||||
rnti,
|
rnti,
|
||||||
mod_id,
|
mod_id,
|
||||||
@@ -194,6 +205,8 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
|
|||||||
|
|
||||||
LOG_D(MAC, "[TEST] RLC can give %d bytes for LCID %d during second call\n", rlc_status.bytes_in_buffer, lcid);
|
LOG_D(MAC, "[TEST] RLC can give %d bytes for LCID %d during second call\n", rlc_status.bytes_in_buffer, lcid);
|
||||||
|
|
||||||
|
if (rlc_status.bytes_in_buffer > 0) {
|
||||||
|
|
||||||
sdu_lengths[i] += mac_rlc_data_req(mod_id,
|
sdu_lengths[i] += mac_rlc_data_req(mod_id,
|
||||||
rnti,
|
rnti,
|
||||||
mod_id,
|
mod_id,
|
||||||
@@ -218,6 +231,8 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
|
|||||||
|
|
||||||
num_sdus++;
|
num_sdus++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
} // SDU creation end
|
} // SDU creation end
|
||||||
|
|
||||||
|
|
||||||
@@ -249,7 +264,7 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
|
|||||||
ta_update = (ta_len > 0) ? ue_sched_ctl->ta_update : 0;
|
ta_update = (ta_len > 0) ? ue_sched_ctl->ta_update : 0;
|
||||||
|
|
||||||
// If there is nothing to schedule, just leave
|
// If there is nothing to schedule, just leave
|
||||||
if ((sdu_length_total + ta_len) < 0) {
|
if ((sdu_length_total + ta_len) <= 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user