<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21975">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">handover_test: show ineffective intra-cell choice<br><br>In handover decision 2, choosing an lchan to move so far takes into<br>account only the absolute current rxlev, and it fails to look at the<br>*difference* in rxlev between source and target cell.<br><br>My recent feature to favor freeing half-used TCH/H does in fact not work<br>well. The main reason why the test for that feature passes is that all<br>lchans in the test get identical measurements -- which is unrealistic.<br><br>A test with differing ratings uncovers the flaw in comparing intra-cell<br>candidates.<br><br>Related: SYS#5032<br>Change-Id: Iabce1ab44b496833c19d999fc3f2903d835c357f<br>---<br>M tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty<br>1 file changed, 36 insertions(+), 5 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty</span><br><span>index b90236d..9d88c86 100644</span><br><span>--- a/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty</span><br><span>+++ b/tests/handover/test_dyn_ts_favor_moving_half_used_tch_h.ho_vty</span><br><span>@@ -1,15 +1,46 @@</span><br><span style="color: hsl(0, 100%, 40%);">-# Congestion check: favor moving a TCH/H that frees a half-used dyn TS completely</span><br><span style="color: hsl(120, 100%, 40%);">+# Congestion check: favor moving a TCH/H that frees a half-used dyn TS completely.</span><br><span style="color: hsl(120, 100%, 40%);">+# The algorithm should notice that this is about moving an lchan within the same cell, so all candidates will remain</span><br><span style="color: hsl(120, 100%, 40%);">+# with unchanged rxlev after a re-assignment; hence the current rxlev for each candidate should not make a difference.</span><br><span> </span><br><span> create-bts trx-count 1 timeslots c+s4 dyn   dyn    dyn    dyn    dyn  - -</span><br><span style="color: hsl(120, 100%, 40%);">+network</span><br><span style="color: hsl(120, 100%, 40%);">+ handover2 min-free-slots tch/h 6</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Test with identical rxlev across lchans (trivial and unrealistic)</span><br><span> set-ts-use    trx 0 0     states *    pdch  TCH/HH TCH/H- TCH/HH pdch - -</span><br><span> meas-rep lchan 0 0 2 1 rxlev 30 rxqual 0 ta 0</span><br><span> meas-rep lchan 0 0 3 0 rxlev 30 rxqual 0 ta 0</span><br><span> meas-rep lchan 0 0 4 0 rxlev 30 rxqual 0 ta 0</span><br><span> meas-rep lchan 0 0 4 1 rxlev 30 rxqual 0 ta 0</span><br><span style="color: hsl(0, 100%, 40%);">-# pick one to move:</span><br><span style="color: hsl(0, 100%, 40%);">-network</span><br><span style="color: hsl(0, 100%, 40%);">- bts 0</span><br><span style="color: hsl(0, 100%, 40%);">-  handover2 min-free-slots tch/h 6</span><br><span> congestion-check</span><br><span> expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0</span><br><span> expect-ts-use trx 0 0     states *    TCH/F TCH/HH pdch TCH/HH pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# clear measurements for the next run</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use    trx 0 0     states *    pdch pdch pdch pdch pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Check that a weaker rxlev coming up earlier in the congestion checking loop does not override the favored half-used</span><br><span style="color: hsl(120, 100%, 40%);">+# TCH/H</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use    trx 0 0     states *    pdch  TCH/HH TCH/H- TCH/HH pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 2 1 rxlev 30 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 3 0 rxlev 31 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 4 1 rxlev 33 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 0 0 3 0 to lchan 0 0 1 0</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0     states *    TCH/F TCH/HH pdch TCH/HH pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# clear measurements for the next run</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use    trx 0 0     states *    pdch pdch pdch pdch pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+# Check that a weaker rxlev coming up later in the congestion checking loop does not override the favored half-used</span><br><span style="color: hsl(120, 100%, 40%);">+# TCH/H</span><br><span style="color: hsl(120, 100%, 40%);">+set-ts-use    trx 0 0     states *    pdch  TCH/HH TCH/H- TCH/HH pdch - -</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 2 1 rxlev 34 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 3 0 rxlev 33 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 4 0 rxlev 32 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+meas-rep lchan 0 0 4 1 rxlev 31 rxqual 0 ta 0</span><br><span style="color: hsl(120, 100%, 40%);">+congestion-check</span><br><span style="color: hsl(120, 100%, 40%);">+# FAIL: should still pick lchan 0 0 3 0!</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ho from lchan 0 0 4 1 to lchan 0 0 1 0</span><br><span style="color: hsl(120, 100%, 40%);">+expect-ts-use trx 0 0     states *    TCH/F TCH/HH TCH/H- TCH/H- pdch - -</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bsc/+/21975">change 21975</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-bsc/+/21975"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Iabce1ab44b496833c19d999fc3f2903d835c357f </div>
<div style="display:none"> Gerrit-Change-Number: 21975 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: neels <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>