[PATCH] osmo-pcu[master]: Simplify TS alloc: re-arrange code

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
Mon Sep 11 10:24:28 UTC 2017


Hello Neels Hofmeyr, Jenkins Builder,

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

    https://gerrit.osmocom.org/3760

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

Simplify TS alloc: re-arrange code

* consistently format log messages to make it possible to grep for test
output in source code
* move TRX check inside local tfi_find_free() wrapper

Change-Id: I02da2b8ba8c9c8815dae0e39e1fed277ca0df171
Related: OS#2282
---
M src/gprs_rlcmac_ts_alloc.cpp
1 file changed, 16 insertions(+), 25 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/3760/9

diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index c5b398f..5ae1dfb 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -248,9 +248,7 @@
 			if (free_tfi) {
 				tfi = find_free_tfi(pdch, dir);
 				if (tfi < 0) {
-					LOGP(DRLCMAC, LOGL_DEBUG,
-						"- Skipping TS %d, because "
-						"no TFI available\n", ts);
+					LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because no TFI available\n", ts);
 					continue;
 				}
 			}
@@ -258,26 +256,20 @@
 			if (dir == GPRS_RLCMAC_UL_TBF) {
 				usf = find_free_usf(pdch);
 				if (usf < 0) {
-					LOGP(DRLCMAC, LOGL_DEBUG,
-						"- Skipping TS %d, because "
-						"no USF available\n", ts);
+					LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because no USF available\n", ts);
 					continue;
 				}
 			}
 			if (min_ts >= 0)
-				LOGP(DRLCMAC, LOGL_DEBUG,
-					"- Skipping TS %d, because "
-					"num TBFs %d > %d\n",
-					min_ts, min_used, num_tbfs);
+				LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because num TBFs %d > %d\n",
+				     min_ts, min_used, num_tbfs);
 			min_used = num_tbfs;
 			min_ts = ts;
 			min_tfi = tfi;
 			min_usf = usf;
 		} else {
-			LOGP(DRLCMAC, LOGL_DEBUG,
-				"- Skipping TS %d, because "
-				"num TBFs %d >= %d\n",
-				ts, num_tbfs, min_used);
+			LOGP(DRLCMAC, LOGL_DEBUG, "- Skipping TS %d, because num TBFs %d >= %d\n",
+			     ts, num_tbfs, min_used);
 		}
 	}
 
@@ -374,7 +366,7 @@
 /*! Return free TFI
  *
  *  \param[in] bts Pointer to BTS struct
- *  \param[in] trx Pointer to TRX struct
+ *  \param[in] trx Optional pointer to TRX struct
  *  \param[in] ms Pointer to MS object
  *  \param[in] dir DL or UL direction
  *  \param[in] use_trx which TRX to use or -1 if it should be selected based on what MS uses
@@ -386,6 +378,15 @@
 {
 	int tfi;
 	uint8_t trx_no;
+
+	if (trx) {
+		if (use_trx >= 0 && use_trx != trx->trx_no) {
+			LOGP(DRLCMAC, LOGL_ERROR, "- Requested incompatible TRX %d (current is %d)\n",
+			     use_trx, trx->trx_no);
+			return -EINVAL;
+		}
+		use_trx = trx->trx_no;
+	}
 
 	if (use_trx == -1 && ms->current_trx())
 		use_trx = ms->current_trx()->trx_no;
@@ -924,16 +925,6 @@
 	reserved_ul_slots = ul_slots = ms->reserved_ul_slots();
 	first_common_ts = ms->first_common_ts();
 	trx = ms->current_trx();
-
-	if (trx) {
-		if (use_trx >= 0 && use_trx != trx->trx_no) {
-			LOGP(DRLCMAC, LOGL_ERROR,
-				"- Requested incompatible TRX %d (current is %d)\n",
-				use_trx, trx->trx_no);
-			return -EINVAL;
-		}
-		use_trx = trx->trx_no;
-	}
 
 	/* Step 2a: Find usable TRX and TFI */
 	tfi = tfi_find_free(bts->bts, trx, ms, tbf->direction, use_trx, &trx_no);

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

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I02da2b8ba8c9c8815dae0e39e1fed277ca0df171
Gerrit-PatchSet: 9
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max <msuraev at sysmocom.de>
Gerrit-Reviewer: Holger Freyther <holger at freyther.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list