aboutsummaryrefslogtreecommitdiffstats
path: root/tests/handover/handover_test.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-11-13 02:14:37 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2020-11-18 14:50:25 +0100
commitdc69da17ad802d7f4533955f09fe6e7c14caab5e (patch)
treebed68b37c8c89545fe41b00b3747d9a58adea428 /tests/handover/handover_test.c
parent829db22eeb273fe1fedfcd5e1d5e56c6824d53e9 (diff)
hodec 2: favor moving dyn TS
When a used timeslot gets moved to another timeslot for load balancing, prefer moving a dynamic timeslot, as illustrated by handover_test.c test 30. Rationale: freeing up a dynamic timeslot is better for PDCH availability, as well as for flexibility in timeslots. Test 30 shows that when freeing a static TCH/F even though a dynamic one with identical ratings is in use, later handovers to a TCH/H may become impossible, because no more dynamic timeslots are available to switch to TCH/H. A freed dynamic timeslot allows congestion resolution to continue and reduce more TCH/F to TCH/H. The scope of this preference is per-TRX, where the RXLEV ratings used for picking a target lchan are the same by definition. In other words, this never overrules picking another lchan that has better RXLEV. Among lchans on dynamic timeslots that could be moved, this code favors moving later lchans; mainly because it makes for a simpler condition in the code. Change-Id: Ic221b8d2687cdec0bf94410c84a4da43853f0900
Diffstat (limited to 'tests/handover/handover_test.c')
-rw-r--r--tests/handover/handover_test.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index 6befc5a0a..804ff4b11 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -1679,16 +1679,15 @@ static char *test_case_30[] = {
"congestion-check",
"expect-chan", "0", "6",
"ack-chan",
- /* Not so good: rather than moving static TCH/F, we should favor freeing dyn TS, for more PDCH */
- "expect-ho", "0", "1",
+ "expect-ho", "0", "5",
"ho-complete",
- "expect-ts-use", "0", "0", "*", "-", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "TCH/H-", "PDCH",
+ "expect-ts-use", "0", "0", "*", "TCH/F", "TCH/F", "TCH/F", "TCH/F", "PDCH", "TCH/H-", "PDCH",
"congestion-check",
"expect-chan", "0", "6",
"ack-chan",
- "expect-ho", "0", "2",
+ "expect-ho", "0", "4",
"ho-complete",
- "expect-ts-use", "0", "0", "*", "-", "-", "TCH/F", "TCH/F", "TCH/F", "TCH/HH", "PDCH",
+ "expect-ts-use", "0", "0", "*", "TCH/F", "TCH/F", "TCH/F", "PDCH", "PDCH", "TCH/HH", "PDCH",
"congestion-check",
"expect-no-chan",
NULL