Change in osmo-bsc[master]: hodec2: fix low rxlev tch/h<->tch/f oscillation

laforge gerrit-no-reply at lists.osmocom.org
Wed Jun 30 08:03:25 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/24795 )

Change subject: hodec2: fix low rxlev tch/h<->tch/f oscillation
......................................................................

hodec2: fix low rxlev tch/h<->tch/f oscillation

Related: SYS#5365
Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5
---
M src/osmo-bsc/handover_decision_2.c
M tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
2 files changed, 5 insertions(+), 11 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c
index 97c8b6e..c9d1198 100644
--- a/src/osmo-bsc/handover_decision_2.c
+++ b/src/osmo-bsc/handover_decision_2.c
@@ -1191,7 +1191,10 @@
 	assignment = ho_get_hodec2_as_active(bts->ho);
 	handover = ho_get_ho_active(bts->ho);
 
-	if (assignment)
+	/* See if re-assignment within the same cell can resolve congestion.
+	 * But: when TCH/F has low rxlev, do not re-assign. If a low rxlev TCH/F were re-assigned to TCH/H, we would
+	 * subsequently oscillate back to TCH/F due to low rxlev. So skip TCH/F with low rxlev. */
+	if (assignment && !(lchan->type == GSM_LCHAN_TCH_F && is_low_rxlev(rxlev_current, bts->ho)))
 		collect_assignment_candidate(lchan, clist, candidates, rxlev_current);
 
 	if (handover) {
diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
index 076076b..2ef927d 100644
--- a/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
+++ b/tests/handover/test_amr_tch_h_to_f_rxlev_oscillation.ho_vty
@@ -17,13 +17,4 @@
 
 meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0
 congestion-check
-# FAIL: should stay on TCH/F because rxlev is low, do not oscillate between TCH/F and /H.
-expect-as from lchan 0 0 1 0 to lchan 0 0 4 0
-expect-ts-use trx 0 0 states * - - - TCH/H- - - *
-meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
-expect-as from lchan 0 0 4 0 to lchan 0 0 1 0
-expect-ts-use trx 0 0 states * TCH/F - - - - - *
-meas-rep lchan 0 0 1 0 rxlev 23 rxqual 1 ta 0
-congestion-check
-expect-as from lchan 0 0 1 0 to lchan 0 0 4 0
-expect-ts-use trx 0 0 states * - - - TCH/H- - - *
+expect-no-chan

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/24795
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ibc3ac7ce6190b4e854fa42d5376a7038ddfbd6e5
Gerrit-Change-Number: 24795
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210630/c05a7446/attachment.htm>


More information about the gerrit-log mailing list