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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/20919 ) Change subject: alloc_algo_b: Select TRX with least assigned TFIs during TBF alloc ...................................................................... alloc_algo_b: Select TRX with least assigned TFIs during TBF alloc Before this patch, it would always allocate all TBFs on the first TRX until all TFIs were filled, then second, and so on. But it would actually fail around 8th MS requesting an UL TBF because despite a TFI was successfuly assigned, because all USFs were already exhausted for that PDCH. Related: OS#1775 Change-Id: Iccfc8acfbfdc258ed16cc5af01f12b376fe73b72 --- M src/bts.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 3 files changed, 100 insertions(+), 132 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index da62b30..be957fa 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -536,18 +536,51 @@ return m_bts.trx[trx].pdch[ts].ul_tbf_by_tfi(tfi); } +static unsigned int trx_count_free_tfi(const struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t *first_free_tfi) +{ + const struct gprs_rlcmac_pdch *pdch; + uint8_t ts; + unsigned int i; + unsigned int free_tfi_cnt = 0; + bool has_pdch = false; + uint32_t mask = NO_FREE_TFI; + + for (ts = 0; ts < ARRAY_SIZE(trx->pdch); ts++) { + pdch = &trx->pdch[ts]; + if (!pdch->is_enabled()) + continue; + has_pdch = true; + mask &= ~pdch->assigned_tfi(dir); + } + + if (!has_pdch || !mask) { + *first_free_tfi = (uint8_t)-1; + return 0; + } + + /* Count free tfis and return */ + for (i = 0; i < sizeof(mask) * 8 ; i++) { + if (mask & 1) { + if (free_tfi_cnt == 0) + *first_free_tfi = i; + free_tfi_cnt++; + } + mask >>= 1; + } + return free_tfi_cnt; +} + /* - * Search for free TFI and return TFI, TRX. - * This method returns the first TFI that is currently not used in any PDCH of - * a TRX. The first TRX that contains such an TFI is returned. Negative values - * indicate errors. + * Search for free TFI and return TFI, TRX. This method returns the first TFI + * that is currently not used in any PDCH of a the TRX with least TFIs currently + * assigned. Negative values indicate errors. */ int BTS::tfi_find_free(enum gprs_rlcmac_tbf_direction dir, uint8_t *_trx, int8_t use_trx) const { - const struct gprs_rlcmac_pdch *pdch; - uint32_t free_tfis; - bool has_pdch = false; - uint8_t trx_from, trx_to, trx, ts, tfi; + uint8_t trx_from, trx_to, trx; + uint8_t best_trx_nr = 0xff; + unsigned int best_cnt = 0; + uint8_t best_first_tfi = 0; if (use_trx >= 0 && use_trx < 8) trx_from = trx_to = use_trx; @@ -558,48 +591,27 @@ /* find a TFI that is unused on all PDCH */ for (trx = trx_from; trx <= trx_to; trx++) { - bool trx_has_pdch = false; - - free_tfis = NO_FREE_TFI; - - for (ts = 0; ts < 8; ts++) { - pdch = &m_bts.trx[trx].pdch[ts]; - if (!pdch->is_enabled()) - continue; - free_tfis &= ~pdch->assigned_tfi(dir); - trx_has_pdch = true; - has_pdch = true; + uint8_t tmp_first_tfi; + unsigned int tmp_cnt; + tmp_cnt = trx_count_free_tfi(&m_bts.trx[trx], dir, &tmp_first_tfi); + if (tmp_cnt > best_cnt) { + best_cnt = tmp_cnt; + best_first_tfi = tmp_first_tfi; + best_trx_nr = trx; } - if (trx_has_pdch && free_tfis) - break; - - free_tfis = 0; - } - if (!has_pdch) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH available.\n"); - return -EINVAL; } - if (!free_tfis) { + if (best_trx_nr == 0xff || best_cnt == 0) { LOGP(DRLCMAC, LOGL_NOTICE, "No TFI available (suggested TRX: %d).\n", use_trx); return -EBUSY; } + OSMO_ASSERT(best_first_tfi < 32); - LOGP(DRLCMAC, LOGL_DEBUG, - "Searching for first unallocated TFI: TRX=%d\n", trx); - - /* find the first */ - for (tfi = 0; tfi < 32; tfi++) { - if (free_tfis & 1 << tfi) - break; - } - - OSMO_ASSERT(tfi < 32); - - LOGP(DRLCMAC, LOGL_DEBUG, " Found TFI=%d.\n", tfi); - *_trx = trx; - return tfi; + LOGP(DRLCMAC, LOGL_DEBUG, "Found first unallocated TRX=%d TFI=%d\n", + best_trx_nr, best_first_tfi); + *_trx = best_trx_nr; + return best_first_tfi; } int BTS::rcv_imm_ass_cnf(const uint8_t *data, uint32_t fn) diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index d1fdfba..d4a5618 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -197,6 +197,7 @@ tfi = the_bts->tfi_find_free(GPRS_RLCMAC_DL_TBF, &trx_no, -1); OSMO_ASSERT(tfi >= 0); dl_tbf = tbf_alloc_dl_tbf(bts, ms, trx_no, true); + OSMO_ASSERT(dl_tbf); dl_tbf->set_ta(0); check_tbf(dl_tbf); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 1432e9c..8691e4c 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -42,8 +42,7 @@ === start test_tbf_final_ack === Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] algo A <single> (suggested TRX: 0): Alloc start @@ -132,8 +131,7 @@ === start test_tbf_final_ack === Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] algo A <single> (suggested TRX: 0): Alloc start @@ -222,8 +220,7 @@ === start test_tbf_delayed_release === Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] algo A <single> (suggested TRX: 0): Alloc start @@ -477,8 +474,7 @@ === start test_tbf_imsi === Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] algo A <single> (suggested TRX: 0): Alloc start @@ -499,8 +495,7 @@ TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) changes state from NULL to FLOW Creating MS object, TLLI = 0x00000000 Modifying MS object, TLLI = 0x00000000, MS class 0 -> 45 -Searching for first unallocated TFI: TRX=0 - Found TFI=1. +Found first unallocated TRX=0 TFI=1 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=45/0 [DL] algo A <single> (suggested TRX: 0): Alloc start @@ -1443,8 +1438,7 @@ MSG = 07 01 04 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 === end test_tbf_dl_llc_loss === === start test_tbf_single_phase === -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -1518,8 +1512,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -1599,8 +1592,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -1724,8 +1716,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654335 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=1. +Found first unallocated TRX=0 TFI=1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654335) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ @@ -1791,8 +1782,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -1880,8 +1870,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654327 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1933,8 +1922,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -2018,8 +2006,7 @@ PDCH(TS 7, TRX 0): Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654275 qta=31 Creating MS object, TLLI = 0x00000000 ********** UL-TBF starts here ********** @@ -2078,8 +2065,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -3023,8 +3009,7 @@ ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=12/0 [DL] algo B <multi> (suggested TRX: 0): Alloc start -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 Slot Allocation (Algorithm B) for class 12 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3063,8 +3048,7 @@ Allocating DL TBF: MS_CLASS=12/12 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] algo B <multi> (suggested TRX: 0): Alloc start -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 Slot Allocation (Algorithm B) for class 12 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3104,8 +3088,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -3194,8 +3177,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -3414,8 +3396,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -3721,8 +3702,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -3978,8 +3958,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4197,8 +4176,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4384,8 +4362,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4551,8 +4528,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4700,8 +4676,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4844,8 +4819,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -4977,8 +4951,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5112,8 +5085,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5168,8 +5140,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5224,8 +5195,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5280,8 +5250,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5352,8 +5321,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5424,8 +5392,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5496,8 +5463,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5570,8 +5536,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5633,8 +5598,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5696,8 +5660,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5759,8 +5722,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -5831,8 +5793,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -5943,8 +5904,7 @@ Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS [DL] algo B <single> (suggested TRX: 0): Alloc start -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 Slot Allocation (Algorithm B) for class 11 - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -5966,8 +5926,7 @@ ********** DL-TBF update ********** PDCH(TS 4, TRX 0): Detaching TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. [DL] algo B <multi> (suggested TRX: -1): Alloc start -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 - Selected DL slots: (TS=0)"..DDDD.."(TS=7), multi [DL] algo B <multi> (suggested TRX: -1): using 4 slots - Assigning DL TS 2 @@ -5996,8 +5955,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -6098,8 +6056,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS @@ -6320,8 +6277,7 @@ MS requests single block allocation Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0x00000000 @@ -7723,8 +7679,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 -Searching for first unallocated TFI: TRX=0 - Found TFI=0. +Found first unallocated TRX=0 TFI=0 ********** DL-TBF starts here ********** Allocating DL TBF: MS_CLASS=11/11 [DL] algo A <single> (suggested TRX: 0): Alloc start -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/20919 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iccfc8acfbfdc258ed16cc5af01f12b376fe73b72 Gerrit-Change-Number: 20919 Gerrit-PatchSet: 5 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de> Gerrit-Reviewer: laforge <laforge at osmocom.org> Gerrit-Reviewer: pespin <pespin at sysmocom.de> Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201029/fd4e945b/attachment.htm>