From 506f156f7a4aebb52dace00a760f86b2b4f5e19a Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Thu, 2 Jul 2015 13:19:49 +0200 Subject: sba: Reverse TS search order Currently the search for an enabled PDCH slot for SBA start with the first TS. If there are more than 2 PDCH slots enabled, this slot will conflict with an existing multislot reservation for most multislot classes. This were less likely if the search were reversed and started with the last slot due to the 3 slot shift between Tx and Rx. When multislot allocation is enabled and several MS are connected, and increased rate of poll timeouts can be observed. This commit tries to reduce the number of poll timeouts by reverting the slot search order for SBA allocation. Sponsored-by: On-Waves ehf --- src/sba.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/sba.cpp') diff --git a/src/sba.cpp b/src/sba.cpp index 6eec235f..8db057b7 100644 --- a/src/sba.cpp +++ b/src/sba.cpp @@ -48,7 +48,7 @@ int SBAController::alloc( struct gprs_rlcmac_pdch *pdch; struct gprs_rlcmac_sba *sba; - uint8_t trx, ts; + int8_t trx, ts; uint32_t fn; sba = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_sba); @@ -56,7 +56,7 @@ int SBAController::alloc( return -ENOMEM; for (trx = 0; trx < 8; trx++) { - for (ts = 0; ts < 8; ts++) { + for (ts = 7; ts >= 0; ts--) { pdch = &m_bts.bts_data()->trx[trx].pdch[ts]; if (!pdch->is_enabled()) continue; -- cgit v1.2.3