[PATCH] osmo-pcu[master]: Simplify TS alloc: use defines for constant

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
Thu Sep 14 13:54:46 UTC 2017


Hello Harald Welte, Jenkins Builder,

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

    https://gerrit.osmocom.org/3920

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

Simplify TS alloc: use defines for constant

* define and use constant for occupied TFI instead copying the same
  magic number all over the place
* use libosmocore's define for bit pretty-printer

Change-Id: I2699ceebf0cbec01652a02fa68ccc9e9419d0293
Related: OS#2282
---
M src/bts.cpp
M src/bts.h
M src/gprs_rlcmac_ts_alloc.cpp
M tests/alloc/AllocTest.cpp
4 files changed, 9 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/3920/3

diff --git a/src/bts.cpp b/src/bts.cpp
index 0046238..815cb1c 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -457,7 +457,7 @@
 	for (trx = trx_from; trx <= trx_to; trx++) {
 		bool trx_has_pdch = false;
 
-		free_tfis = 0xffffffff;
+		free_tfis = NO_FREE_TFI;
 
 		for (ts = 0; ts < 8; ts++) {
 			pdch = &m_bts.trx[trx].pdch[ts];
diff --git a/src/bts.h b/src/bts.h
index b3a8027..8a9f51b 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -44,6 +44,7 @@
 #define LLC_CODEL_DISABLE 0
 #define LLC_CODEL_USE_DEFAULT (-1)
 #define MAX_GPRS_CS 9
+#define NO_FREE_TFI 0xffffffff
 
 /* see bts->gsmtap_categ_mask */
 enum pcu_gsmtap_category {
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 47a892d..76a84c7 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -126,7 +126,7 @@
 	uint32_t tfi_map = pdch->assigned_tfi(dir);
 	int8_t tfi;
 
-	if (tfi_map == 0xffffffffUL)
+	if (tfi_map == NO_FREE_TFI)
 		return -1;
 
 	/* look for USF, don't use USF=7 */
@@ -203,7 +203,7 @@
 		pdch->num_tbfs(GPRS_RLCMAC_UL_TBF) +
 		compute_usage_by_reservation(pdch, dir);
 
-	if (pdch->assigned_tfi(reverse(dir)) == 0xffffffff)
+	if (pdch->assigned_tfi(reverse(dir)) == NO_FREE_TFI)
 		/* No TFI in the opposite direction, avoid it */
 		usage += 32;
 
@@ -335,10 +335,10 @@
 			if (!pdch->is_enabled())
 				continue;
 
-			if (pdch->assigned_tfi(GPRS_RLCMAC_UL_TBF) == 0xffffffff)
+			if (pdch->assigned_tfi(GPRS_RLCMAC_UL_TBF) == NO_FREE_TFI)
 				continue;
 
-			if (pdch->assigned_tfi(GPRS_RLCMAC_DL_TBF) == 0xffffffff)
+			if (pdch->assigned_tfi(GPRS_RLCMAC_DL_TBF) == NO_FREE_TFI)
 				continue;
 
 			return trx_no;
diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp
index 13f3869..59eaee2 100644
--- a/tests/alloc/AllocTest.cpp
+++ b/tests/alloc/AllocTest.cpp
@@ -611,17 +611,17 @@
 				continue;
 
 			if (ul_tbf &&
-				pdch->assigned_tfi(GPRS_RLCMAC_DL_TBF) != 0xffffffff)
+				pdch->assigned_tfi(GPRS_RLCMAC_DL_TBF) != NO_FREE_TFI)
 				continue;
 
 			if (dl_tbf &&
-				pdch->assigned_tfi(GPRS_RLCMAC_UL_TBF) != 0xffffffff)
+				pdch->assigned_tfi(GPRS_RLCMAC_UL_TBF) != NO_FREE_TFI)
 				continue;
 
 			busy_slots |= 1 << i;
 		}
 
-		printf(" TBF[%d] class %d reserves %c%c%c%c%c%c%c%c\n",
+		printf(" TBF[%d] class %d reserves " OSMO_BIT_SPEC "\n",
 			tfi, ms_class,
 			get_dir_char(0x01, ul_slots, dl_slots, busy_slots),
 			get_dir_char(0x02, ul_slots, dl_slots, busy_slots),

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I2699ceebf0cbec01652a02fa68ccc9e9419d0293
Gerrit-PatchSet: 3
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



More information about the gerrit-log mailing list