[PATCH] osmo-pcu[master]: TS alloc: update tests

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/.

Max gerrit-no-reply at lists.osmocom.org
Wed Sep 13 16:15:28 UTC 2017


Review at  https://gerrit.osmocom.org/3932

TS alloc: update tests

* restructure code for easier reading
* rearrange tests order to facilitate further UL alloc changes

Change-Id: I6d1df8e96e1dad04ab7cf2655b8363233d6e210f
Related: OS#2282
---
M tests/alloc/AllocTest.cpp
M tests/alloc/AllocTest.err
2 files changed, 282 insertions(+), 292 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/3932/1

diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index dd5f242..64ff0d1 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -21,6 +21,7 @@
 #include "gprs_debug.h"
 #include "tbf.h"
 #include "bts.h"
+#include "pcu_utils.h"
 
 #include <string.h>
 #include <stdio.h>
@@ -471,6 +472,19 @@
 	TEST_MODE_UL_AFTER_DL,
 };
 
+static inline char *test_mode_descr(enum test_mode t)
+{
+	switch (t) {
+	case TEST_MODE_UL_ONLY: return (char*)"UL only";
+	case TEST_MODE_DL_ONLY: return (char*)"DL only";
+	case TEST_MODE_UL_AND_DL: return (char*)"UL and DL";
+	case TEST_MODE_DL_AND_UL: return (char*)"DL and UL";
+	case TEST_MODE_DL_AFTER_UL: return (char*)"DL after UL";
+	case TEST_MODE_UL_AFTER_DL: return (char*)"UL after DL";
+	default: return NULL;
+	}
+}
+
 static GprsMs *alloc_tbfs(BTS *the_bts, GprsMs *ms, unsigned ms_class,
 	enum test_mode mode)
 {
@@ -619,24 +633,23 @@
 			busy_slots |= 1 << i;
 		}
 
-		printf(" TBF[%d] class %d reserves %c%c%c%c%c%c%c%c\n",
-			tfi, ms_class,
-			get_dir_char(0x01, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x02, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x04, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x08, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x10, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x20, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x40, ul_slots, dl_slots, busy_slots),
-			get_dir_char(0x80, ul_slots, dl_slots, busy_slots));
+		printf(" TBF[%2d] class %2d reserves %c%c%c%c%c%c%c%c [%2u /%2u /%2u ]\n",
+		       tfi, ms_class,
+		       get_dir_char(0x01, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x02, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x04, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x08, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x10, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x20, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x40, ul_slots, dl_slots, busy_slots),
+		       get_dir_char(0x80, ul_slots, dl_slots, busy_slots),
+		       pcu_bitcount(ul_slots), pcu_bitcount(dl_slots), pcu_bitcount(busy_slots));
 
 		if (tfi >= 0) {
 			OSMO_ASSERT(ms->current_trx());
-			tfi2 = the_bts->tfi_find_free(dir, &trx_no2,
-				ms->current_trx()->trx_no);
+			tfi2 = the_bts->tfi_find_free(dir, &trx_no2, ms->current_trx()->trx_no);
 			OSMO_ASSERT(tfi != tfi2);
-			OSMO_ASSERT(tfi2 < 0 ||
-				trx_no2 == ms->current_trx()->trx_no);
+			OSMO_ASSERT(tfi2 < 0 || trx_no2 == ms->current_trx()->trx_no);
 		}
 
 		ms_class += 1;
@@ -647,16 +660,16 @@
 	return counter;
 }
 
-static void test_successive_allocation(algo_t algo, unsigned min_class,
-	unsigned max_class, enum test_mode mode,
-	unsigned expect_num, const char *text)
+static void test_successive_alloc(unsigned min_class, unsigned max_class, unsigned expect_num, enum test_mode mode,
+				  algo_t algo, const char *text)
 {
 	BTS the_bts;
 	struct gprs_rlcmac_bts *bts;
 	struct gprs_rlcmac_trx *trx;
 	unsigned counter;
 
-	printf("Going to test assignment with many TBF, %s\n", text);
+	printf("Going to test assignment with many TBF, algorithm %s class %u..%u (%s)\n",
+	       text, min_class, max_class, test_mode_descr(mode));
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = algo;
@@ -670,9 +683,11 @@
 
 	counter = alloc_many_tbfs(&the_bts, min_class, max_class, mode);
 
-	printf("  Successfully allocated %d UL TBFs\n", counter);
+	printf("  Successfully allocated %d UL TBFs, algorithm %s class %u..%u (%s)\n",
+	       counter, text, min_class, max_class, test_mode_descr(mode));
 	if (counter != expect_num)
-		fprintf(stderr, "  Expected %d TBFs for %s\n", expect_num, text);
+		fprintf(stderr, "  Expected %d TBFs, algorithm %s class %u..%u (%s)\n",
+			expect_num, text, min_class, max_class, test_mode_descr(mode));
 
 	OSMO_ASSERT(counter == expect_num);
 
@@ -694,7 +709,7 @@
 		TEST_MODE_DL_ONLY,
 	};
 
-	printf("Going to test assignment with many connections, %s\n", text);
+	printf("Going to test assignment with many connections, algorithm %s\n", text);
 
 	bts = the_bts.bts_data();
 	bts->alloc_algorithm = algo;
@@ -736,60 +751,32 @@
 
 static void test_successive_allocation()
 {
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_AND_DL,
-		35, "algorithm A (UL and DL)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_AND_DL,
-		32, "algorithm B class 10 (UL and DL)");
-	test_successive_allocation(alloc_algorithm_b, 12, 12, TEST_MODE_UL_AND_DL,
-		32, "algorithm B class 12 (UL and DL)");
-	test_successive_allocation(alloc_algorithm_b, 1, 12, TEST_MODE_UL_AND_DL,
-		32, "algorithm B class 1-12 (UL and DL)");
-	test_successive_allocation(alloc_algorithm_b, 1, 29, TEST_MODE_UL_AND_DL,
-		32, "algorithm B class 1-29 (UL and DL)");
-	test_successive_allocation(alloc_algorithm_dynamic, 1, 29, TEST_MODE_UL_AND_DL,
-		35, "algorithm dynamic class 1-29 (UL and DL)");
+	test_successive_alloc(1,  1,  160, TEST_MODE_DL_ONLY,     alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10, 101, TEST_MODE_DL_ONLY,     alloc_algorithm_dynamic, "dynamic");
+	test_successive_alloc(10, 10,  32, TEST_MODE_DL_ONLY,     alloc_algorithm_b, "B");
 
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AND_UL,
-		35, "algorithm A (DL and UL)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AND_UL,
-		32, "algorithm B class 10 (DL and UL)");
-	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_AND_UL,
-		32, "algorithm dynamic class 10 (DL and UL)");
+	test_successive_alloc(1,  1,   35, TEST_MODE_UL_AND_DL,   alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10,  32, TEST_MODE_UL_AND_DL,   alloc_algorithm_b, "B");
+	test_successive_alloc(12, 12,  32, TEST_MODE_UL_AND_DL,   alloc_algorithm_b, "B");
+	test_successive_alloc(1,  12,  32, TEST_MODE_UL_AND_DL,   alloc_algorithm_b, "B");
+	test_successive_alloc(1,  29,  32, TEST_MODE_UL_AND_DL,   alloc_algorithm_b, "B");
+	test_successive_alloc(1,  29,  35, TEST_MODE_UL_AND_DL,   alloc_algorithm_dynamic, "dynamic");
 
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_AFTER_UL,
-		160, "algorithm A (DL after UL)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_AFTER_UL,
-		32, "algorithm B class 10 (DL after UL)");
-	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_AFTER_UL,
-		95, "algorithm dynamic class 10 (DL after UL)");
+	test_successive_alloc(1,  1,   35, TEST_MODE_DL_AND_UL,   alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10,  32, TEST_MODE_DL_AND_UL,   alloc_algorithm_b, "B");
+	test_successive_alloc(10, 10,  32, TEST_MODE_DL_AND_UL,   alloc_algorithm_dynamic, "dynamic");
 
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_AFTER_DL,
-		35, "algorithm A (UL after DL)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_AFTER_DL,
-		32, "algorithm B class 10 (UL after DL)");
-	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_UL_AFTER_DL,
-		35, "algorithm dynamic class 10 (UL after DL)");
+	test_successive_alloc(1,  1,  160, TEST_MODE_DL_AFTER_UL, alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10,  32, TEST_MODE_DL_AFTER_UL, alloc_algorithm_b, "B");
+	test_successive_alloc(10, 10,  95, TEST_MODE_DL_AFTER_UL, alloc_algorithm_dynamic, "dynamic");
 
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_UL_ONLY,
-		35, "algorithm A (UL only)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_UL_ONLY,
-		32, "algorithm B class 10 (UL only)");
-	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_UL_ONLY,
-		35, "algorithm dynamic class 10 (UL only)");
+	test_successive_alloc(1,  1,   35, TEST_MODE_UL_AFTER_DL, alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10,  32, TEST_MODE_UL_AFTER_DL, alloc_algorithm_b, "B");
+	test_successive_alloc(10, 10,  35, TEST_MODE_UL_AFTER_DL, alloc_algorithm_dynamic, "dynamic");
 
-	test_successive_allocation(alloc_algorithm_a, 1, 1, TEST_MODE_DL_ONLY,
-		160, "algorithm A (DL ONLY)");
-	test_successive_allocation(alloc_algorithm_b, 10, 10, TEST_MODE_DL_ONLY,
-		32, "algorithm B class 10 (DL ONLY)");
-	test_successive_allocation(alloc_algorithm_dynamic, 10, 10, TEST_MODE_DL_ONLY,
-		101, "algorithm dynamic class 10 (DL ONLY)");
-}
-
-static void test_many_connections()
-{
-	test_many_connections(alloc_algorithm_a, 160, "algorithm A");
-	test_many_connections(alloc_algorithm_b, 32, "algorithm B");
-	test_many_connections(alloc_algorithm_dynamic, 160, "algorithm dynamic");
+	test_successive_alloc(1,  1,   35, TEST_MODE_UL_ONLY,     alloc_algorithm_a, "A");
+	test_successive_alloc(10, 10,  35, TEST_MODE_UL_ONLY,     alloc_algorithm_dynamic, "dynamic");
+	test_successive_alloc(10, 10,  32, TEST_MODE_UL_ONLY,     alloc_algorithm_b, "B");
 }
 
 static void test_2_consecutive_dl_tbfs()
@@ -857,9 +844,12 @@
 
 	test_alloc_a();
 	test_alloc_b();
-	test_successive_allocation();
-	test_many_connections();
+	test_many_connections(alloc_algorithm_a, 160, "A");
+	test_many_connections(alloc_algorithm_b, 32, "B");
+	test_many_connections(alloc_algorithm_dynamic, 160, "dynamic");
 	test_2_consecutive_dl_tbfs();
+	test_successive_allocation();
+
 	return EXIT_SUCCESS;
 }
 
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index 47dcefc..aefa1ca 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -8,226 +8,6 @@
 No TFI available (suggested TRX: 0).
 algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
-algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
-algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
-algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
-algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
-algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
-algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
-algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: -1).
-algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-No TFI available (suggested TRX: 0).
-algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 No TFI available (suggested TRX: 0).
 No TFI available (suggested TRX: 0).
 No TFI available (suggested TRX: 0).
@@ -892,3 +672,223 @@
 No TFI available (suggested TRX: 0).
 algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
   Allocated 160 TBFs (previously 160)
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: 0).
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
+No TFI available (suggested TRX: 0).
+No TFI available (suggested TRX: -1).
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL

-- 
To view, visit https://gerrit.osmocom.org/3932
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6d1df8e96e1dad04ab7cf2655b8363233d6e210f
Gerrit-PatchSet: 1
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list