Change in osmo-bsc[master]: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Aug 27 14:31:54 UTC 2020


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

Change subject: acc: Fix ACC rotate barring highest ACCs too quickly during wraparound
......................................................................

acc: Fix ACC rotate barring highest ACCs too quickly during wraparound

Expected steps (size=4):
6 7 8 9 -> 0 7 8 9 -> 0 1 8 9 -> 0 1 2 9 -> 0 1 2 3 -> 1 2 3 4 -> ...

Befre this patch, for size>2 we got:
6 7 8 9 -> 0 6 7 8 -> 0 1 6 7 -> 0 1 2 6 -> 0 1 2 3 -> 1 2 3 4 -> ...

Which means highest ACCs were barred during more time than others.

Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe
---
M src/osmo-bsc/acc.c
M tests/acc/acc_test.ok
2 files changed, 197 insertions(+), 187 deletions(-)

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



diff --git a/src/osmo-bsc/acc.c b/src/osmo-bsc/acc.c
index 74ebe99..06f96c6 100644
--- a/src/osmo-bsc/acc.c
+++ b/src/osmo-bsc/acc.c
@@ -222,18 +222,28 @@
 	 * Assumption: The permanent set is bigger than the current selected subset */
 	bool is_wrapped = false;
 	uint8_t i = (lowest + 1) % 10;
-	do {
-		if (!acc_is_permanently_barred(acc_mgr->bts, i) &&
-		    !(acc_mgr->allowed_subset_mask & (1 << i))) {
-			is_wrapped = true;
-			break;
-		}
-		i = (i + 1 ) % 10;
-	} while (i != (highest + 1) % 10);
+	if (lowest != highest) { /* len(allowed_subset_mask) > 1 */
+		i = (lowest + 1) % 10;
+		do {
+			if (!acc_is_permanently_barred(acc_mgr->bts, i) &&
+			    !(acc_mgr->allowed_subset_mask & (1 << i))) {
+				is_wrapped = true;
+				break;
+			}
+			i = (i + 1) % 10;
+		} while (i != (highest + 1) % 10);
+	}
 
 	if (is_wrapped) {
-		*first = highest;
-		*last = lowest;
+		/* Assumption: "i" is pointing to the lowest dynamically barred ACC.
+		   Example: 11 1000 00>0<1.  */
+		*last = i - 1;
+		while (acc_is_permanently_barred(acc_mgr->bts, *last))
+			*last -= 1;
+		*first = i + 1;
+		while (acc_is_permanently_barred(acc_mgr->bts, *first) ||
+		       !(acc_mgr->allowed_subset_mask & (1 << (*first))))
+			*first += 1;
 	} else {
 		*first = lowest;
 		*last = highest;
diff --git a/tests/acc/acc_test.ok b/tests/acc/acc_test.ok
index 431498a..afe4ef0 100644
--- a/tests/acc/acc_test.ok
+++ b/tests/acc/acc_test.ok
@@ -356,13 +356,13 @@
 (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={4.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={6.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={8.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3
 sys={10.000000}: select()
 (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
@@ -383,13 +383,13 @@
 (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={22.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={24.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={26.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x047 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3
 sys={28.000000}: select()
 (bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
@@ -410,8 +410,8 @@
 (bts=0) ACC: rotate ACC allowed active subset 0x1e0 -> 0x1c1 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={40.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=10, adm_len=4, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 BTS deallocated OK in test_acc_mgr_rotate()
 ===test_acc_ramp===
 (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off)
@@ -536,49 +536,49 @@
 (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={1000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7
+(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8
 sys={1100.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6
-sys={1200.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4
+sys={1200.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5
 sys={1250.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5
-sys={1350.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6
-sys={1450.000000}: select()
+sys={1350.000000}: select()
 (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7
+sys={1450.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8
 sys={1500.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8
-sys={1600.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8
+sys={1600.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8
 sys={1700.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8
 sys={1750.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8
+(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8
 sys={1850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8
 sys={1950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8
+(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8
 sys={2000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
+(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
 pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8
 sys={2250.000000}: select()
 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off)
@@ -625,49 +625,49 @@
 (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={1000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7
+(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8
 sys={1100.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6
-sys={1200.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4
+sys={1200.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5
 sys={1250.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5
-sys={1350.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6
-sys={1450.000000}: select()
+sys={1350.000000}: select()
 (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7
+sys={1450.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8
 sys={1500.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8
-sys={1600.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8
+sys={1600.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8
 sys={1700.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8
 sys={1750.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8
+(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8
 sys={1850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8
 sys={1950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8
+(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8
 sys={2000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
+(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
 pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8
 sys={2250.000000}: select()
 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off)
@@ -714,49 +714,49 @@
 (bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
 sys={850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={1000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x0c7 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x38, allowed: 0 1 2 6 7
+(bts=0) ACC: update ACC allowed active subset 0x107 -> 0x10f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf0, allowed: 0 1 2 3 8
 sys={1100.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0c7 -> 0x04f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb0, allowed: 0 1 2 3 6
-sys={1200.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x04f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x10f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4
+sys={1200.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5
 sys={1250.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x01f -> 0x03f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xc0, allowed: 0 1 2 3 4 5
-sys={1350.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x03f -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x03e -> 0x07e (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x81, allowed: 1 2 3 4 5 6
-sys={1450.000000}: select()
+sys={1350.000000}: select()
 (bts=0) ACC: rotate ACC allowed active subset 0x07e -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7
+sys={1450.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8
 sys={1500.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fc -> 0x1fc (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x03, allowed: 2 3 4 5 6 7 8
-sys={1600.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fc -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x1f8 -> 0x1f9 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x06, allowed: 0 3 4 5 6 7 8
+sys={1600.000000}: select()
+(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x1f3 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x0c, allowed: 0 1 4 5 6 7 8
 sys={1700.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1f9 -> 0x0fb (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x04, allowed: 0 1 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1f3 -> 0x1e7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x18, allowed: 0 1 2 5 6 7 8
 sys={1750.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x0fb -> 0x1fb (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x04, allowed: 0 1 3 4 5 6 7 8
+(bts=0) ACC: update ACC allowed active subset 0x1e7 -> 0x1ef (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x10, allowed: 0 1 2 3 5 6 7 8
 sys={1850.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x1fb -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1ef -> 0x1df (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x20, allowed: 0 1 2 3 4 6 7 8
 sys={1950.000000}: select()
-(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8
+(bts=0) ACC: rotate ACC allowed active subset 0x1df -> 0x1bf (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x40, allowed: 0 1 2 3 4 5 7 8
 sys={2000.000000}: select()
-(bts=0) ACC: update ACC allowed active subset 0x1fe -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
+(bts=0) ACC: update ACC allowed active subset 0x1bf -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
 pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8
 sys={2250.000000}: select()
 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off)
@@ -804,62 +804,62 @@
 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8
 sys={950.000000}: select(10): chan_load_avg=55
-(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7
+(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8
 sys={1000.000000}: select(11): chan_load_avg=40
-(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
+(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={1100.000000}: select(12): chan_load_avg=25
-(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7
-sys={1200.000000}: select(13): chan_load_avg=10
-(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3
+sys={1200.000000}: select(13): chan_load_avg=10
+(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4
 sys={1250.000000}: select(14): chan_load_avg=0
-(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x01f (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xe0, allowed: 0 1 2 3 4
-sys={1350.000000}: select(15): chan_load_avg=15
-(bts=0) ACC: rotate ACC allowed active subset 0x01f -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x03e (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xc1, allowed: 1 2 3 4 5
-sys={1450.000000}: select(16): chan_load_avg=30
+sys={1350.000000}: select(15): chan_load_avg=15
 (bts=0) ACC: rotate ACC allowed active subset 0x03e -> 0x07c (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x83, allowed: 2 3 4 5 6
+sys={1450.000000}: select(16): chan_load_avg=30
+(bts=0) ACC: rotate ACC allowed active subset 0x07c -> 0x0f8 (active_len=5, ramp_len=5, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0x07, allowed: 3 4 5 6 7
 sys={1500.000000}: select(17): chan_load_avg=45
-(bts=0) ACC: update ACC allowed active subset 0x07c -> 0x0fc (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x03, allowed: 2 3 4 5 6 7
-sys={1600.000000}: select(18): chan_load_avg=60
-(bts=0) ACC: rotate ACC allowed active subset 0x0fc -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x0f8 -> 0x1f8 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x07, allowed: 3 4 5 6 7 8
-sys={1700.000000}: select(19): chan_load_avg=75
+sys={1600.000000}: select(18): chan_load_avg=60
 (bts=0) ACC: rotate ACC allowed active subset 0x1f8 -> 0x1f1 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x0e, allowed: 0 4 5 6 7 8
+sys={1700.000000}: select(19): chan_load_avg=75
+(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x1e3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x1c, allowed: 0 1 5 6 7 8
 sys={1750.000000}: select(20): chan_load_avg=90
 sys={1850.000000}: select(21): chan_load_avg=100
-(bts=0) ACC: rotate ACC allowed active subset 0x1f1 -> 0x0f3 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x0c, allowed: 0 1 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x1e3 -> 0x1c7 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x38, allowed: 0 1 2 6 7 8
 sys={1950.000000}: select(22): chan_load_avg=85
-(bts=0) ACC: rotate ACC allowed active subset 0x0f3 -> 0x077 (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x88, allowed: 0 1 2 4 5 6
+(bts=0) ACC: rotate ACC allowed active subset 0x1c7 -> 0x18f (active_len=6, ramp_len=6, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x70, allowed: 0 1 2 3 7 8
 sys={2000.000000}: select(23): chan_load_avg=70
-(bts=0) ACC: update ACC allowed active subset 0x077 -> 0x0f7 (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x08, allowed: 0 1 2 4 5 6 7
+(bts=0) ACC: update ACC allowed active subset 0x18f -> 0x19f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x60, allowed: 0 1 2 3 4 7 8
 sys={2100.000000}: select(24): chan_load_avg=55
-(bts=0) ACC: rotate ACC allowed active subset 0x0f7 -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6
+(bts=0) ACC: rotate ACC allowed active subset 0x19f -> 0x13f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xc0, allowed: 0 1 2 3 4 5 8
 sys={2200.000000}: select(25): chan_load_avg=40
-(bts=0) ACC: rotate ACC allowed active subset 0x07f -> 0x0fe (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x01, allowed: 1 2 3 4 5 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x13f -> 0x07f (active_len=7, ramp_len=7, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0x80, allowed: 0 1 2 3 4 5 6
 sys={2250.000000}: select(26): chan_load_avg=25
-(bts=0) ACC: update ACC allowed active subset 0x0fe -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8
+(bts=0) ACC: update ACC allowed active subset 0x07f -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7
 sys={2350.000000}: select(27): chan_load_avg=10
+(bts=0) ACC: rotate ACC allowed active subset 0x0ff -> 0x1fe (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x01, allowed: 1 2 3 4 5 6 7 8
+sys={2450.000000}: select(28): chan_load_avg=0
 (bts=0) ACC: rotate ACC allowed active subset 0x1fe -> 0x1fd (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x02, allowed: 0 2 3 4 5 6 7 8
-sys={2450.000000}: select(28): chan_load_avg=0
-(bts=0) ACC: rotate ACC allowed active subset 0x1fd -> 0x0ff (active_len=8, ramp_len=8, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x00, allowed: 0 1 2 3 4 5 6 7
 sys={2500.000000}: select(29): chan_load_avg=15
-(bts=0) ACC: update ACC allowed active subset 0x0ff -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
+(bts=0) ACC: update ACC allowed active subset 0x1fd -> 0x1ff (active_len=9, ramp_len=9, adm_len=10, perm_len=9, rotation=off)
 pcu_info_update(): t2=0x02 t3=0x00, allowed: 0 1 2 3 4 5 6 7 8
 sys={2750.000000}: select(30): chan_load_avg=30
 (bts=0) ACC: update ACC allowed active subset 0x1ff -> 0x1ff (active_len=9, ramp_len=10, adm_len=10, perm_len=9, rotation=off)
@@ -1098,87 +1098,87 @@
 (bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8
 sys={1950.000000}: select(22): chan_load_avg=20
-(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x083 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x7c, allowed: 0 1 7
+(bts=0) ACC: rotate ACC allowed active subset 0x181 -> 0x103 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xfc, allowed: 0 1 8
 sys={2000.000000}: select(23): chan_load_avg=30
-(bts=0) ACC: update ACC allowed active subset 0x083 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
+(bts=0) ACC: update ACC allowed active subset 0x103 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={2100.000000}: select(24): chan_load_avg=40
-(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x087 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x78, allowed: 0 1 2 7
-sys={2200.000000}: select(25): chan_load_avg=50
-(bts=0) ACC: rotate ACC allowed active subset 0x087 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3
+sys={2200.000000}: select(25): chan_load_avg=50
+(bts=0) ACC: rotate ACC allowed active subset 0x00f -> 0x01e (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xe1, allowed: 1 2 3 4
 sys={2250.000000}: select(26): chan_load_avg=60
-(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3
-sys={2350.000000}: select(27): chan_load_avg=70
-(bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x01e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4
-sys={2450.000000}: select(28): chan_load_avg=80
+sys={2350.000000}: select(27): chan_load_avg=70
 (bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5
+sys={2450.000000}: select(28): chan_load_avg=80
+(bts=0) ACC: rotate ACC allowed active subset 0x038 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6
 sys={2500.000000}: select(29): chan_load_avg=90
-(bts=0) ACC: update ACC allowed active subset 0x038 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5
-sys={2600.000000}: select(30): chan_load_avg=100
-(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x070 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6
-sys={2700.000000}: select(31): chan_load_avg=90
+sys={2600.000000}: select(30): chan_load_avg=100
 (bts=0) ACC: rotate ACC allowed active subset 0x060 -> 0x0c0 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x3f, allowed: 6 7
+sys={2700.000000}: select(31): chan_load_avg=90
+(bts=0) ACC: rotate ACC allowed active subset 0x0c0 -> 0x180 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7f, allowed: 7 8
 sys={2750.000000}: select(32): chan_load_avg=80
-(bts=0) ACC: update ACC allowed active subset 0x0c0 -> 0x080 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x7f, allowed: 7
-sys={2850.000000}: select(33): chan_load_avg=70
-(bts=0) ACC: rotate ACC allowed active subset 0x080 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x180 -> 0x100 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0xff, allowed: 8
-sys={2950.000000}: select(34): chan_load_avg=60
+sys={2850.000000}: select(33): chan_load_avg=70
 (bts=0) ACC: rotate ACC allowed active subset 0x100 -> 0x001 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xfe, allowed: 0
-sys={3000.000000}: select(35): chan_load_avg=50
-sys={3100.000000}: select(36): chan_load_avg=40
+sys={2950.000000}: select(34): chan_load_avg=60
 (bts=0) ACC: rotate ACC allowed active subset 0x001 -> 0x002 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xfd, allowed: 1
-sys={3200.000000}: select(37): chan_load_avg=30
+sys={3000.000000}: select(35): chan_load_avg=50
+sys={3100.000000}: select(36): chan_load_avg=40
 (bts=0) ACC: rotate ACC allowed active subset 0x002 -> 0x004 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xfb, allowed: 2
+sys={3200.000000}: select(37): chan_load_avg=30
+(bts=0) ACC: rotate ACC allowed active subset 0x004 -> 0x008 (active_len=1, ramp_len=1, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xf7, allowed: 3
 sys={3250.000000}: select(38): chan_load_avg=20
-(bts=0) ACC: update ACC allowed active subset 0x004 -> 0x00c (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xf3, allowed: 2 3
-sys={3350.000000}: select(39): chan_load_avg=10
-(bts=0) ACC: rotate ACC allowed active subset 0x00c -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x008 -> 0x018 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe7, allowed: 3 4
-sys={3450.000000}: select(40): chan_load_avg=0
+sys={3350.000000}: select(39): chan_load_avg=10
 (bts=0) ACC: rotate ACC allowed active subset 0x018 -> 0x030 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xcf, allowed: 4 5
+sys={3450.000000}: select(40): chan_load_avg=0
+(bts=0) ACC: rotate ACC allowed active subset 0x030 -> 0x060 (active_len=2, ramp_len=2, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0x9f, allowed: 5 6
 sys={3500.000000}: select(41): chan_load_avg=10
-(bts=0) ACC: update ACC allowed active subset 0x030 -> 0x070 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x8f, allowed: 4 5 6
-sys={3600.000000}: select(42): chan_load_avg=20
-(bts=0) ACC: rotate ACC allowed active subset 0x070 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x060 -> 0x0e0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0x1f, allowed: 5 6 7
-sys={3700.000000}: select(43): chan_load_avg=30
+sys={3600.000000}: select(42): chan_load_avg=20
 (bts=0) ACC: rotate ACC allowed active subset 0x0e0 -> 0x1c0 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x02 t3=0x3f, allowed: 6 7 8
+sys={3700.000000}: select(43): chan_load_avg=30
+(bts=0) ACC: rotate ACC allowed active subset 0x1c0 -> 0x181 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7e, allowed: 0 7 8
 sys={3750.000000}: select(44): chan_load_avg=40
-(bts=0) ACC: update ACC allowed active subset 0x1c0 -> 0x1c1 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x02 t3=0x3e, allowed: 0 6 7 8
+(bts=0) ACC: update ACC allowed active subset 0x181 -> 0x183 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0x7c, allowed: 0 1 7 8
 sys={3850.000000}: select(45): chan_load_avg=50
-(bts=0) ACC: rotate ACC allowed active subset 0x1c1 -> 0x0c3 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0x3c, allowed: 0 1 6 7
+(bts=0) ACC: rotate ACC allowed active subset 0x183 -> 0x107 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x02 t3=0xf8, allowed: 0 1 2 8
 sys={3950.000000}: select(46): chan_load_avg=60
-(bts=0) ACC: rotate ACC allowed active subset 0x0c3 -> 0x047 (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb8, allowed: 0 1 2 6
+(bts=0) ACC: rotate ACC allowed active subset 0x107 -> 0x00f (active_len=4, ramp_len=4, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xf0, allowed: 0 1 2 3
 sys={4000.000000}: select(47): chan_load_avg=70
-(bts=0) ACC: update ACC allowed active subset 0x047 -> 0x046 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
-pcu_info_update(): t2=0x03 t3=0xb9, allowed: 1 2 6
-sys={4100.000000}: select(48): chan_load_avg=80
-(bts=0) ACC: rotate ACC allowed active subset 0x046 -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+(bts=0) ACC: update ACC allowed active subset 0x00f -> 0x00e (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xf1, allowed: 1 2 3
-sys={4200.000000}: select(49): chan_load_avg=90
+sys={4100.000000}: select(48): chan_load_avg=80
 (bts=0) ACC: rotate ACC allowed active subset 0x00e -> 0x01c (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
 pcu_info_update(): t2=0x03 t3=0xe3, allowed: 2 3 4
+sys={4200.000000}: select(49): chan_load_avg=90
+(bts=0) ACC: rotate ACC allowed active subset 0x01c -> 0x038 (active_len=3, ramp_len=3, adm_len=10, perm_len=9, rotation=on)
+pcu_info_update(): t2=0x03 t3=0xc7, allowed: 3 4 5
 BTS deallocated OK in test_acc_ramp_updown_rotate()
 ===test_acc_ramp_updown_rotate(30, 80, 30, 80, 5)===
 (bts=0) ACC: New ACC allowed subset 0x3ff (active_len=10, ramp_len=10, adm_len=10, perm_len=10, rotation=off)

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

Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I03c298ecb29c4fc5f4c361773f2666588e423ffe
Gerrit-Change-Number: 19849
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200827/d6dfc5e9/attachment.htm>


More information about the gerrit-log mailing list