[MERGED] osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2018-01-27 Thread Max
Max has submitted this change and it was merged.

Change subject: Simplify TS alloc: adjust allocator signatures
..


Simplify TS alloc: adjust allocator signatures

* drop unused parameters (from both functions and structs)
* document used parameters and return values
* tighten types used for parameters
* use consistent formatting

Tests are adjusted accordingly but test results are left untouched to
avoid regressions.

Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Related: OS#2282
---
M src/bts.h
M src/gprs_rlcmac.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
7 files changed, 59 insertions(+), 60 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/src/bts.h b/src/bts.h
index b1724c9..8d3a3cc 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -203,11 +203,9 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_categ_mask;
struct gprs_rlcmac_trx trx[8];
-   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_tbf);
-   uint32_t alloc_algorithm_curst; /* options to customize algorithm */
+   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf,
+  bool single, int8_t use_tbf);
+
uint8_t force_two_phase;
uint8_t alpha, gamma;
uint8_t egprs_enabled;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index 64b6d6c..33dd9fd 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -21,6 +21,8 @@
 #ifndef GPRS_RLCMAC_H
 #define GPRS_RLCMAC_H
 
+#include 
+
 #ifdef __cplusplus
 #include 
 #include 
@@ -100,20 +102,14 @@
 
 extern "C" {
 #endif
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf, bool single,
+   int8_t use_trx);
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index b5edf05..cd82ca7 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -351,14 +351,19 @@
return tfi;
 }
 
-/* Slot Allocation: Algorithm A
+/*! Slot Allocation: Algorithm A
  *
  * Assign single slot for uplink and downlink
+ *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_,
-   struct gprs_rlcmac_tbf *tbf_, uint32_t cust, uint8_t single,
-   int use_trx)
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
@@ -725,15 +730,20 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm B
+/*! Slot Allocation: Algorithm B
  *
  * Assign as many downlink slots as possible.
  * Assign one uplink slot. (With free USF)
  *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_, struct gprs_rlcmac_tbf *tbf_,
-   uint32_t cust, uint8_t single, int use_trx)
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
uint8_t dl_slots;
uint8_t ul_slots;
@@ -954,7 +964,7 @@
return 0;
 }
 
-/* Slot 

osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2018-01-27 Thread Harald Welte

Patch Set 12: Code-Review+2

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Gerrit-PatchSet: 12
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr 
Gerrit-Reviewer: Stefan Sperling 
Gerrit-HasComments: No


[PATCH] osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2018-01-26 Thread Max
Hello Harald Welte, Jenkins Builder,

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

https://gerrit.osmocom.org/3807

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

Simplify TS alloc: adjust allocator signatures

* drop unused parameters (from both functions and structs)
* document used parameters and return values
* tighten types used for parameters
* use consistent formatting

Tests are adjusted accordingly but test results are left untouched to
avoid regressions.

Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Related: OS#2282
---
M src/bts.h
M src/gprs_rlcmac.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
7 files changed, 59 insertions(+), 60 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/3807/12

diff --git a/src/bts.h b/src/bts.h
index b1724c9..8d3a3cc 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -203,11 +203,9 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_categ_mask;
struct gprs_rlcmac_trx trx[8];
-   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_tbf);
-   uint32_t alloc_algorithm_curst; /* options to customize algorithm */
+   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf,
+  bool single, int8_t use_tbf);
+
uint8_t force_two_phase;
uint8_t alpha, gamma;
uint8_t egprs_enabled;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index 64b6d6c..33dd9fd 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -21,6 +21,8 @@
 #ifndef GPRS_RLCMAC_H
 #define GPRS_RLCMAC_H
 
+#include 
+
 #ifdef __cplusplus
 #include 
 #include 
@@ -100,20 +102,14 @@
 
 extern "C" {
 #endif
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf, bool single,
+   int8_t use_trx);
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index b5edf05..cd82ca7 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -351,14 +351,19 @@
return tfi;
 }
 
-/* Slot Allocation: Algorithm A
+/*! Slot Allocation: Algorithm A
  *
  * Assign single slot for uplink and downlink
+ *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_,
-   struct gprs_rlcmac_tbf *tbf_, uint32_t cust, uint8_t single,
-   int use_trx)
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
@@ -725,15 +730,20 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm B
+/*! Slot Allocation: Algorithm B
  *
  * Assign as many downlink slots as possible.
  * Assign one uplink slot. (With free USF)
  *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_, struct gprs_rlcmac_tbf *tbf_,
-   uint32_t cust, uint8_t single, int use_trx)
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
uint8_t dl_slots;
uint8_t ul_slots;
@@ -954,7 +964,7 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm dynamic
+/*! 

[PATCH] osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2017-09-28 Thread Max
Hello Harald Welte, Jenkins Builder,

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

https://gerrit.osmocom.org/3807

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

Simplify TS alloc: adjust allocator signatures

* drop unused parameters (from both functions and structs)
* document used parameters and return values
* tighten types used for parameters
* use consistent formatting

Tests are adjusted accordingly but test results are left untouched to
avoid regressions.

Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Related: OS#228
---
M src/bts.h
M src/gprs_rlcmac.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
7 files changed, 59 insertions(+), 60 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/3807/10

diff --git a/src/bts.h b/src/bts.h
index 1d13a64..0ce5123 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -205,11 +205,9 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_categ_mask;
struct gprs_rlcmac_trx trx[8];
-   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_tbf);
-   uint32_t alloc_algorithm_curst; /* options to customize algorithm */
+   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf,
+  bool single, int8_t use_tbf);
+
uint8_t force_two_phase;
uint8_t alpha, gamma;
uint8_t egprs_enabled;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index be1e686..c16a954 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -21,6 +21,8 @@
 #ifndef GPRS_RLCMAC_H
 #define GPRS_RLCMAC_H
 
+#include 
+
 #ifdef __cplusplus
 #include 
 #include 
@@ -98,20 +100,14 @@
 
 extern "C" {
 #endif
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf, bool single,
+   int8_t use_trx);
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 3b596f4..9ceceb2 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -396,14 +396,19 @@
return tfi;
 }
 
-/* Slot Allocation: Algorithm A
+/*! Slot Allocation: Algorithm A
  *
  * Assign single slot for uplink and downlink
+ *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_,
-   struct gprs_rlcmac_tbf *tbf_, uint32_t cust, uint8_t single,
-   int use_trx)
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
@@ -796,15 +801,20 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm B
+/*! Slot Allocation: Algorithm B
  *
  * Assign as many downlink slots as possible.
  * Assign one uplink slot. (With free USF)
  *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_, struct gprs_rlcmac_tbf *tbf_,
-   uint32_t cust, uint8_t single, int use_trx)
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
uint8_t dl_slots;
uint8_t ul_slots;
@@ -1025,7 +1035,7 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm dynamic
+/*! 

osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2017-09-14 Thread Harald Welte

Patch Set 8: Code-Review+1

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Gerrit-PatchSet: 8
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Jenkins Builder
Gerrit-HasComments: No


[PATCH] osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2017-09-14 Thread Max
Hello Harald Welte, Jenkins Builder,

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

https://gerrit.osmocom.org/3807

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

Simplify TS alloc: adjust allocator signatures

* drop unused parameters (from both functions and structs)
* document used parameters and return values
* tighten types used for parameters
* use consistent formatting

Tests are adjusted accordingly but test results are left untouched to
avoid regressions.

Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Related: OS#2282
---
M src/bts.cpp
M src/bts.h
M src/gprs_rlcmac.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
M tests/tbf/TbfTest.cpp
9 files changed, 84 insertions(+), 91 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/3807/8

diff --git a/src/bts.cpp b/src/bts.cpp
index b768569..1284f11 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -652,12 +652,11 @@
/* FIXME: Copy and paste with other routines.. */
 
if (is_11bit) {
-   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0,
-   ms_class, 1);
+   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, ms_class, 
true);
} else {
/* set class to 0, since we don't know the multislot
 * class yet */
-   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, 0, 1);
+   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, 0, true);
}
 
if (!tbf) {
diff --git a/src/bts.h b/src/bts.h
index d65cd2f..f15ca22 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -204,11 +204,9 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_categ_mask;
struct gprs_rlcmac_trx trx[8];
-   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_tbf);
-   uint32_t alloc_algorithm_curst; /* options to customize algorithm */
+   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf,
+  bool single, int8_t use_tbf);
+
uint8_t force_two_phase;
uint8_t alpha, gamma;
uint8_t egprs_enabled;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index be1e686..c16a954 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -21,6 +21,8 @@
 #ifndef GPRS_RLCMAC_H
 #define GPRS_RLCMAC_H
 
+#include 
+
 #ifdef __cplusplus
 #include 
 #include 
@@ -98,20 +100,14 @@
 
 extern "C" {
 #endif
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx);
 
-int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf, bool single,
+   int8_t use_trx);
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 57197b2..4ce2fa6 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -396,14 +396,19 @@
return tfi;
 }
 
-/* Slot Allocation: Algorithm A
+/*! Slot Allocation: Algorithm A
  *
  * Assign single slot for uplink and downlink
+ *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_,
-   struct gprs_rlcmac_tbf *tbf_, uint32_t cust, uint8_t single,
-   int use_trx)
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx)
 {
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
@@ -796,15 +801,20 @@
return 0;
 }
 
-/* Slot Allocation: Algorithm B
+/*! Slot Allocation: Algorithm B
  *
  * Assign as many downlink slots as possible.
  * Assign one uplink slot. (With free USF)
  *
+ *  

osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2017-09-13 Thread Harald Welte

Patch Set 7: Code-Review+1

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

Gerrit-MessageType: comment
Gerrit-Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Gerrit-PatchSet: 7
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Owner: Max 
Gerrit-Reviewer: Harald Welte 
Gerrit-Reviewer: Holger Freyther 
Gerrit-Reviewer: Jenkins Builder
Gerrit-HasComments: No


[PATCH] osmo-pcu[master]: Simplify TS alloc: adjust allocator signatures

2017-09-12 Thread Max
Hello Harald Welte, Jenkins Builder,

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

https://gerrit.osmocom.org/3807

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

Simplify TS alloc: adjust allocator signatures

* drop unused parameters (from both functions and structs)
* document used parameters and return values
* tighten types used for parameters
* use consistent formatting

Tests are adjusted accordingly but test results are left untouched to
avoid regressions.

Change-Id: I39d81ab64ff790b9c4c2d0312a574485cd83e755
Related: OS#2282
---
M src/bts.cpp
M src/bts.h
M src/gprs_rlcmac.h
M src/gprs_rlcmac_ts_alloc.cpp
M src/tbf.cpp
M src/tbf.h
M src/tbf_dl.cpp
M tests/alloc/AllocTest.cpp
M tests/tbf/TbfTest.cpp
9 files changed, 87 insertions(+), 91 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/07/3807/7

diff --git a/src/bts.cpp b/src/bts.cpp
index b768569..1284f11 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -652,12 +652,11 @@
/* FIXME: Copy and paste with other routines.. */
 
if (is_11bit) {
-   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0,
-   ms_class, 1);
+   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, ms_class, 
true);
} else {
/* set class to 0, since we don't know the multislot
 * class yet */
-   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, 0, 1);
+   tbf = tbf_alloc_ul_tbf(_bts, NULL, -1, 0, 0, true);
}
 
if (!tbf) {
diff --git a/src/bts.h b/src/bts.h
index d65cd2f..e4b1c23 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -204,11 +204,9 @@
struct gsmtap_inst *gsmtap;
uint32_t gsmtap_categ_mask;
struct gprs_rlcmac_trx trx[8];
-   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_tbf);
-   uint32_t alloc_algorithm_curst; /* options to customize algorithm */
+   int (*alloc_algorithm)(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf,
+  bool single, int8_t use_tbf, bool enable_debug);
+
uint8_t force_two_phase;
uint8_t alpha, gamma;
uint8_t egprs_enabled;
diff --git a/src/gprs_rlcmac.h b/src/gprs_rlcmac.h
index be1e686..0616069 100644
--- a/src/gprs_rlcmac.h
+++ b/src/gprs_rlcmac.h
@@ -21,6 +21,8 @@
 #ifndef GPRS_RLCMAC_H
 #define GPRS_RLCMAC_H
 
+#include 
+
 #ifdef __cplusplus
 #include 
 #include 
@@ -98,20 +100,14 @@
 
 extern "C" {
 #endif
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx, bool enable_debug);
 
-int alloc_algorithm_b(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_b(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, struct 
gprs_rlcmac_tbf *tbf, bool single,
+ int8_t use_trx, bool enable_debug);
 
-int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts,
-   struct GprsMs *ms,
-   struct gprs_rlcmac_tbf *tbf, uint32_t cust, uint8_t single,
-   int use_trx);
+int alloc_algorithm_dynamic(struct gprs_rlcmac_bts *bts, struct GprsMs *ms, 
struct gprs_rlcmac_tbf *tbf, bool single,
+   int8_t use_trx, bool enable_debug);
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp
index 57197b2..14d9e17 100644
--- a/src/gprs_rlcmac_ts_alloc.cpp
+++ b/src/gprs_rlcmac_ts_alloc.cpp
@@ -396,14 +396,20 @@
return tfi;
 }
 
-/* Slot Allocation: Algorithm A
+/*! Slot Allocation: Algorithm A
  *
  * Assign single slot for uplink and downlink
+ *
+ *  \param[in,out] bts Pointer to BTS struct
+ *  \param[in,out] ms_ Pointer to MS object
+ *  \param[in,out] tbf_ Pointer to TBF struct
+ *  \param[in] single flag indicating if we should force single-slot allocation
+ *  \param[in] use_trx which TRX to use or -1 if it should be selected during 
allocation
+ *  \param[in] enable_debug Flag to enable excessive logging not suitable for 
production run but necessary for tests
+ *  \returns negative error code or 0 on success
  */
-int alloc_algorithm_a(struct gprs_rlcmac_bts *bts,
-   GprsMs *ms_,
-   struct gprs_rlcmac_tbf *tbf_, uint32_t cust, uint8_t single,
-   int use_trx)
+int alloc_algorithm_a(struct gprs_rlcmac_bts *bts, GprsMs *ms_, struct 
gprs_rlcmac_tbf *tbf_, bool single,
+ int8_t use_trx, bool enable_debug)
 {
struct gprs_rlcmac_pdch *pdch;
int ts = -1;
@@ -796,15