[PATCH] osmo-pcu[master]: TS alloc: expand tests log

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
Fri Jan 26 11:57:48 UTC 2018


Hello Harald Welte, Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/3895

to look at the new patch set (#19).

TS alloc: expand tests log

* restructure code for easier reading
* use consistent formatting for output
* log essential allocation parameters on failure

Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5
Related: OS#2282
---
M src/gprs_rlcmac_ts_alloc.cpp
M tests/alloc/AllocTest.err
M tests/tbf/TbfTest.err
3 files changed, 192 insertions(+), 184 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/95/3895/19

diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index b38a8ed..2fb5175 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -387,13 +387,14 @@
 	const gprs_rlcmac_tbf *tbf = tbf_;
 	gprs_rlcmac_trx *trx = ms->current_trx();
 
-	LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class "
-		"%d\n", tbf->ms_class());
+	LOGP(DRLCMAC, LOGL_DEBUG, "Slot Allocation (Algorithm A) for class %d [%s]\n",
+	     tbf->ms_class(), (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 
 	trx_no = find_trx(bts, ms, use_trx);
 	if (trx_no < 0) {
 		LOGP(DRLCMAC, LOGL_NOTICE,
-			"- Failed to find a usable TRX (TFI exhausted)\n");
+		     "algo A [%s] (suggested TRX: %d): failed to find a usable TRX (TFI exhausted) for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return trx_no;
 	}
 	if (!trx)
@@ -421,14 +422,16 @@
 		&tfi, &usf);
 
 	if (tbf->direction == GPRS_RLCMAC_UL_TBF && usf < 0) {
-		LOGP(DRLCMAC, LOGL_NOTICE, "- Failed "
-			"to allocate a TS, no USF available\n");
+		LOGP(DRLCMAC, LOGL_NOTICE,
+		     "algo A [%s] (suggested TRX: %d): failed to allocate a TS, no USF available for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return -EBUSY;
 	}
 
 	if (ts < 0) {
-		LOGP(DRLCMAC, LOGL_NOTICE, "- Failed "
-			"to allocate a TS, no TFI available\n");
+		LOGP(DRLCMAC, LOGL_NOTICE,
+		     "algo A [%s] (suggested TRX: %d): failed to allocate a TS, no TFI available for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return -EBUSY;
 	}
 
@@ -880,7 +883,7 @@
 		LOGPC(DRLCMAC, LOGL_DEBUG, "- Selected DL");
 	}
 
-	LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7)%s\n", slot_info, single ? ", single" : "");
+	LOGPC(DRLCMAC, LOGL_DEBUG, " slots: (TS=0)\"%s\"(TS=7), %s\n", slot_info, single ? "single" : "multi");
 
 	return sl;
 }
@@ -968,7 +971,8 @@
 	/* Step 2a: Find usable TRX and TFI */
 	tfi = tfi_find_free(bts->bts, trx, ms, tbf->direction, use_trx, &trx_no);
 	if (tfi < 0) {
-		LOGP(DRLCMAC, LOGL_NOTICE, "- Failed to allocate a TFI\n");
+		LOGP(DRLCMAC, LOGL_NOTICE, "algo B [%s] (suggested TRX: %d): failed to allocate a TFI for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return tfi;
 	}
 
@@ -1012,23 +1016,27 @@
 	first_common_ts = ffs(dl_slots & ul_slots) - 1;
 
 	if (first_common_ts < 0) {
-		LOGP(DRLCMAC, LOGL_NOTICE, "No first common slots available\n");
+		LOGP(DRLCMAC, LOGL_NOTICE, "algo B [%s] (suggested TRX: %d): no first common slots available for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return -EINVAL;
 	}
+
 	if (first_ts < 0) {
-		LOGP(DRLCMAC, LOGL_NOTICE, "No first slot available\n");
+		LOGP(DRLCMAC, LOGL_NOTICE, "algo B [%s] (suggested TRX: %d): no first slot available for %s\n",
+		     single ? "single" : "multi", use_trx, (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 		return -EINVAL;
 	}
 
 	if (single && slotcount) {
 		tbf_->upgrade_to_multislot = (avail_count > slotcount);
-		LOGP(DRLCMAC, LOGL_INFO, "Using single slot at TS %d for %s\n",
-			first_ts,
-			(tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
+		LOGP(DRLCMAC, LOGL_INFO, "algo B [%s] (suggested TRX: %d): using single slot at TS %d for %s\n",
+		     single ? "single" : "multi", use_trx, first_ts,
+		     (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 	} else {
 		tbf_->upgrade_to_multislot = 0;
-		LOGP(DRLCMAC, LOGL_INFO, "Using %d slots for %s\n", slotcount,
-			(tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
+		LOGP(DRLCMAC, LOGL_INFO, "algo B [%s] (suggested TRX: %d): using %d slots for %s\n",
+		     single ? "single" : "multi", use_trx, slotcount,
+		     (tbf->direction == GPRS_RLCMAC_DL_TBF) ? "DL" : "UL");
 	}
 
 	/* The allocation will be successful, so the system state and tbf_/ms_
diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err
index 562135d..b514b78 100644
--- a/tests/alloc/AllocTest.err
+++ b/tests/alloc/AllocTest.err
@@ -193,7 +193,7 @@
 TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=0/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
@@ -305,7 +305,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 Allocating UL TBF: MS_CLASS=0/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) free
@@ -713,7 +713,7 @@
 TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=0/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
@@ -931,7 +931,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 4
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00
 Allocating UL TBF: MS_CLASS=0/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
@@ -189959,7 +189959,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7
 TBF(TFI=6 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 Allocating UL TBF: MS_CLASS=1/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 Allocating UL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00
@@ -190155,7 +190155,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 Allocating UL TBF: MS_CLASS=12/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00
@@ -190351,7 +190351,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=12/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
@@ -190547,7 +190547,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=9/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
@@ -190743,7 +190743,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
@@ -190939,7 +190939,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 Allocating DL TBF: MS_CLASS=33/0
@@ -190961,7 +190961,7 @@
 TBF(TFI=4 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=36/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 Allocating DL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
@@ -191176,7 +191176,7 @@
 TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 Allocating UL TBF: MS_CLASS=1/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
 TBF(TFI=7 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
@@ -191373,7 +191373,7 @@
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78
@@ -191569,11 +191569,11 @@
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 7
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 Allocating UL TBF: MS_CLASS=10/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -192701,7 +192701,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=1/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
 Allocating UL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00
@@ -192932,7 +192932,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 Allocating UL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
@@ -193164,7 +193164,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
@@ -193666,7 +193666,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
 Allocating DL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
@@ -193916,7 +193916,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 Allocating UL TBF: MS_CLASS=1/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
@@ -194148,7 +194148,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
@@ -194380,7 +194380,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
@@ -194390,7 +194390,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
@@ -194400,7 +194400,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 18
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for UL
 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
@@ -194410,8 +194410,8 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = f0
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
-- Failed to allocate a TS, no USF available
+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
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=RELEASING) free
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -194519,7 +194519,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00
 Allocating UL TBF: MS_CLASS=1/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 Allocating UL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00
@@ -194619,7 +194619,7 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 Allocating UL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 00
@@ -194719,26 +194719,26 @@
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=1 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for UL
 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=2 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
-- Failed to allocate a TS, no USF available
+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
 Allocating DL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
@@ -195225,7 +195225,7 @@
 TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=1/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78
@@ -195325,7 +195325,7 @@
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
 Allocating DL TBF: MS_CLASS=10/0
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 5
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 20, dl_slots = 78
@@ -195425,7 +195425,7 @@
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=10/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 3
 TBF(TFI=1 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 08
 No TFI available (suggested TRX: 0).
@@ -195702,7 +195702,7 @@
 TBF(TFI=31 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=10/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 08, dl_slots = 00
@@ -196829,7 +196829,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=23/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
   Allocated 160 TBFs (previously -1)
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -196937,7 +196937,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 7
 TBF(TFI=6 TLLI=0xc0000022 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00
 Allocating UL TBF: MS_CLASS=36/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
   Allocated 35 TBFs (previously 160)
 TBF(TFI=0 TLLI=0xc0000000 DIR=UL STATE=NULL) free
 Allocating UL TBF: MS_CLASS=1/0
@@ -198415,7 +198415,7 @@
 TBF(TFI=0 TLLI=0xc000009f DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=23/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
   Allocated 160 TBFs (previously 160)
 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free
 Allocating DL TBF: MS_CLASS=1/0
@@ -199218,7 +199218,7 @@
 TBF(TFI=31 TLLI=0xc000009f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=23/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
   Allocated 160 TBFs (previously 160)
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -199450,7 +199450,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00
 Allocating DL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
   Allocated 32 TBFs (previously -1)
 Allocating UL TBF: MS_CLASS=1/0
@@ -199845,7 +199845,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00
 Allocating DL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
   Allocated 32 TBFs (previously 32)
 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free
@@ -200010,7 +200010,7 @@
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: -1).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: -1): failed to allocate a TFI for DL
   Allocated 32 TBFs (previously 32)
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -200242,7 +200242,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 00
 Allocating DL TBF: MS_CLASS=33/0
 No TFI available (suggested TRX: 0).
-- Failed to allocate a TFI
+algo B [multi] (suggested TRX: 0): failed to allocate a TFI for DL
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 6
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 40, dl_slots = 40
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
@@ -200696,7 +200696,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=44/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
   Allocated 89 TBFs (previously -1)
 Allocating UL TBF: MS_CLASS=1/0
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 3
@@ -200771,7 +200771,7 @@
 TBF(TFI=6 TLLI=0x00000000 DIR=UL STATE=NULL) Setting Control TS 4
 TBF(TFI=6 TLLI=0xc0000017 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00
 Allocating UL TBF: MS_CLASS=25/0
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
   Allocated 24 TBFs (previously 89)
 TBF(TFI=0 TLLI=0xc0000000 DIR=UL STATE=NULL) free
 Allocating UL TBF: MS_CLASS=1/0
@@ -202026,7 +202026,7 @@
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) free
 No TFI available (suggested TRX: 0).
 Allocating UL TBF: MS_CLASS=23/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for UL
   Allocated 160 TBFs (previously 89)
 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=RELEASING) free
 Allocating DL TBF: MS_CLASS=1/0
@@ -202829,7 +202829,7 @@
 TBF(TFI=31 TLLI=0xc000009f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80
 No TFI available (suggested TRX: 0).
 Allocating DL TBF: MS_CLASS=23/0
-- Failed to find a usable TRX (TFI exhausted)
+algo A [multi] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
   Allocated 160 TBFs (previously 160)
 Allocating DL TBF: MS_CLASS=11/11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Setting Control TS 6
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 98ec04b..a48487d 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -1,7 +1,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 4, because not enabled
@@ -18,7 +18,7 @@
 Modifying MS object, TLLI = 0x00002342, TA 220 -> 4
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 3, because need to reuse TS
@@ -41,7 +41,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -90,7 +90,7 @@
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec.
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=45/0
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -128,7 +128,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -177,7 +177,7 @@
 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec.
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=45/0
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -215,7 +215,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -468,7 +468,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -490,7 +490,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -531,7 +531,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -556,7 +556,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -581,7 +581,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -606,7 +606,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -631,7 +631,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -656,7 +656,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -681,7 +681,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -706,7 +706,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -731,7 +731,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -756,7 +756,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -781,7 +781,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -806,7 +806,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -831,7 +831,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -856,7 +856,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -881,7 +881,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -906,7 +906,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -931,7 +931,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -956,7 +956,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -981,7 +981,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1006,7 +1006,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1031,7 +1031,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1056,7 +1056,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1081,7 +1081,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1106,7 +1106,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1131,7 +1131,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1156,7 +1156,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1181,7 +1181,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1206,7 +1206,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1231,7 +1231,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1256,7 +1256,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1281,7 +1281,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1306,7 +1306,7 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1331,15 +1331,15 @@
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
-- Failed to find a usable TRX (TFI exhausted)
+Slot Allocation (Algorithm A) for class 45 [DL]
+algo A [single] (suggested TRX: -1): failed to find a usable TRX (TFI exhausted) for DL
 No PDCH resource
 Destroying MS object, TLLI = 0x00000000
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=45/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1369,7 +1369,7 @@
 ********** DL-TBF ends here **********
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=45/0
-Slot Allocation (Algorithm A) for class 45
+Slot Allocation (Algorithm A) for class 45 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1427,7 +1427,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1470,7 +1470,7 @@
 Got MS: TLLI = 0xf1223344, TA = 7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=0/0
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1505,7 +1505,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1549,7 +1549,7 @@
 Got MS: TLLI = 0xf1223344, TA = 7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1584,7 +1584,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1627,7 +1627,7 @@
 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1713,7 +1713,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1778,7 +1778,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1821,7 +1821,7 @@
 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1870,7 +1870,7 @@
 MS requests UL TBF in packet resource request of single block, so we provide one:
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1901,7 +1901,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1943,7 +1943,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -1986,7 +1986,7 @@
 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -2022,7 +2022,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -2087,7 +2087,7 @@
 Allocating UL TBF: MS_CLASS=1/0
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -2130,7 +2130,7 @@
 Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW)', TA=7
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -2763,7 +2763,7 @@
 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 0 microsec.
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/0
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3017,8 +3017,8 @@
 - Skipping TS 7, because not enabled
 - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7)
 Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1
-- Selected DL slots: (TS=0)"..DDDD.."(TS=7)
-Using 4 slots for DL
+- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi
+algo B [multi] (suggested TRX: 0): using 4 slots for DL
 - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7)
 - Assigning DL TS 2
 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001.
@@ -3056,8 +3056,8 @@
 - Skipping TS 7, because not enabled
 - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7)
 Rx=4 Tx=4 Sum Rx+Tx=5, Tta=2 Ttb=1, Tra=2 Trb=1, Type=1
-- Selected DL slots: (TS=0)"..DDDD.."(TS=7)
-Using 4 slots for DL
+- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi
+algo B [multi] (suggested TRX: 0): using 4 slots for DL
 - Reserved DL/UL slots: (TS=0)"..DDCD.."(TS=7)
 - Assigning DL TS 2
 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
@@ -3099,7 +3099,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3148,7 +3148,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/1
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3188,7 +3188,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3367,7 +3367,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/1
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3398,7 +3398,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3704,7 +3704,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -3960,7 +3960,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4178,7 +4178,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4364,7 +4364,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4530,7 +4530,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4678,7 +4678,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4821,7 +4821,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -4953,7 +4953,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5085,7 +5085,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5140,7 +5140,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5195,7 +5195,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5250,7 +5250,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5321,7 +5321,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5392,7 +5392,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5463,7 +5463,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5534,7 +5534,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5596,7 +5596,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5658,7 +5658,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5720,7 +5720,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5798,7 +5798,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5866,7 +5866,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/1
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -5905,7 +5905,7 @@
 - Possible DL/UL slots: (TS=0)"..CCCC.."(TS=7)
 Rx=4 Tx=3 Sum Rx+Tx=5, Tta=3 Ttb=1, Tra=2 Trb=1, Type=1
 - Selected DL slots: (TS=0)"..ddDd.."(TS=7), single
-Using single slot at TS 4 for DL
+algo B [single] (suggested TRX: 0): using single slot at TS 4 for DL
 - Reserved DL/UL slots: (TS=0)"...DC..."(TS=7)
 - Assigning DL TS 4
 PDCH(TS 4, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
@@ -5919,8 +5919,8 @@
 PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000.
 Searching for first unallocated TFI: TRX=0
  Found TFI=0.
-- Selected DL slots: (TS=0)"..DDDD.."(TS=7)
-Using 4 slots for DL
+- Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi
+algo B [multi] (suggested TRX: -1): using 4 slots for DL
 - Assigning DL TS 2
 PDCH(TS 2, TRX 0): Attaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
 - Assigning DL TS 3
@@ -5958,7 +5958,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6020,7 +6020,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/1
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6051,7 +6051,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6087,7 +6087,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6111,7 +6111,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6135,7 +6135,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6159,7 +6159,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6183,7 +6183,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6207,7 +6207,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6231,7 +6231,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6255,7 +6255,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6264,7 +6264,7 @@
 - Skipping TS 5, because not enabled
 - Skipping TS 6, because not enabled
 - Skipping TS 7, because no USF available
-- Failed to allocate a TS, no USF available
+algo A [single] (suggested TRX: -1): failed to allocate a TS, no USF available for UL
 No PDCH resource sending Immediate Assignment Uplink (AGCH) reject
 Destroying MS object, TLLI = 0x00000000
 MS requests UL TBF on RACH, so we provide one: ra=0x70 Fn=2654167 qta=31 is_11bit=0:
@@ -6288,7 +6288,7 @@
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
 TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 1
+Slot Allocation (Algorithm A) for class 1 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -6906,7 +6906,7 @@
 ********** DL-TBF starts here **********
 Allocating DL TBF: MS_CLASS=1/1
 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7678,7 +7678,7 @@
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
-Slot Allocation (Algorithm A) for class 11
+Slot Allocation (Algorithm A) for class 11 [DL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7700,7 +7700,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7724,7 +7724,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7748,7 +7748,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7772,7 +7772,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7796,7 +7796,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7820,7 +7820,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7844,7 +7844,7 @@
 ********** UL-TBF starts here **********
 Allocating UL TBF: MS_CLASS=0/0
 Creating MS object, TLLI = 0x00000000
-Slot Allocation (Algorithm A) for class 0
+Slot Allocation (Algorithm A) for class 0 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7874,7 +7874,7 @@
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
 Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
-Slot Allocation (Algorithm A) for class 11
+Slot Allocation (Algorithm A) for class 11 [UL]
 - Skipping TS 0, because not enabled
 - Skipping TS 1, because not enabled
 - Skipping TS 2, because not enabled
@@ -7883,7 +7883,7 @@
 - Skipping TS 5, because not enabled
 - Skipping TS 6, because not enabled
 - Skipping TS 7, because no USF available
-- Failed to allocate a TS, no USF available
+algo A [multi] (suggested TRX: 0): failed to allocate a TS, no USF available for UL
 No PDCH resource
 Creating MS object, TLLI = 0x00000000
 Modifying MS object, UL TLLI: 0x00000000 -> 0xffeeddcc, not yet confirmed

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I4b78951a79ddbc0745b39d091080a4e0e247d3c5
Gerrit-PatchSet: 19
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Max <msuraev at sysmocom.de>



More information about the gerrit-log mailing list