Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/28085 )
Change subject: measurement: move SACCH detection to process_l1sap_meas_data()
......................................................................
Patch Set 2:
(1 comment)
File src/common/l1sap.c:
https://gerrit.osmocom.org/c/osmo-bts/+/28085/comment/2e91b173_8e17a3f1
PS1, Line 725: .is_sub = info_meas_ind->is_sub,
> This is done on purpose because in AMR mode the caller of this function sets .is_sub itself. […]
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/28085
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I507e96ee34ac0f8b7a2a6f16a8c7f92bc467df60
Gerrit-Change-Number: 28085
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 10 May 2022 13:50:37 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: pespin.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/28085
to look at the new patch set (#2).
Change subject: measurement: move SACCH detection to process_l1sap_meas_data()
......................................................................
measurement: move SACCH detection to process_l1sap_meas_data()
SACCH detection can be simplified by checking the RSL Link ID in
process_l1sap_meas_data(). This eliminates the need to lookup
the multiframe position by calling trx_sched_is_sacch_fn(), which
definitely takes more CPU time than just L1SAP_IS_LINK_SACCH().
Calling trx_sched_is_sacch_fn() is still required for BTS models
reporting the measurements via PRIM_MPH_INFO (legacy way),
separately from the related Uplink blocks.
This patch can be summarized as follows:
* detect SACCH and set .is_sub=1 in process_l1sap_meas_data();
** for PRIM_MPH_INFO use trx_sched_is_sacch_fn();
** for PRIM_PH_DATA use L1SAP_IS_LINK_SACCH();
* do not call trx_sched_is_sacch_fn() from ts45008_83_is_sub();
* modify the unit test - test_ts45008_83_is_sub_single();
** remove test_ts45008_83_is_sub_is_sacch().
Change-Id: I507e96ee34ac0f8b7a2a6f16a8c7f92bc467df60
Related: SYS#5853
---
M src/common/l1sap.c
M src/common/measurement.c
M tests/meas/meas_test.c
3 files changed, 16 insertions(+), 46 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/28085/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/28085
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I507e96ee34ac0f8b7a2a6f16a8c7f92bc467df60
Gerrit-Change-Number: 28085
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: laforge, pespin.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/28086
to look at the new patch set (#2).
Change subject: measurement: fix matching of SUB frames by TDMA FN
......................................................................
measurement: fix matching of SUB frames by TDMA FN
3GPP TS 45.008, section 8.3 defines active TDMA frame subsets for
TCH channels, which shall always be transmitted even during the
silence periods in DTX mode of operation. Each frame number
listed in this section corresponds to a single burst.
The Uplink measurements always contain TDMA FN of the *first* burst
of a block, so it does not make sense to match the given FN against
all FNs in the respective subset. Instead, we should match only
specific FNs in accordance with the block mapping rules defined in
3GPP TS 45.002, section 7, table 1.
In the active subset for TCH/F there is only one *complete* block
starting at FN=52. Incomplete blocks {52, 53, 54, 55} and {56, 57,
58, 59} contain only 50% of the useful bits (partial SID) and thus
~50% BER, so we don't treat them as SUB.
In the active subsets for TCH/H there are two *complete* blocks
for each sub-slot. Their respective first FNs can be efficiently
defined in a lookup table (see ts45008_dtx_tchh_fn_map[]). Note
that we can use a single lookup table for both sub-slots of TCH/H
because their TDMA FNs do not overlap.
This patch fixes unexpected SUB-RxQual values > 0 on TCH channels
with DTXu enabled and other than AMR (HR, FR, EFR) codec in use.
Change-Id: I8cc3a755a8ad4dc564439aab2298c1e97ac0592d
Related: SYS#5853
---
M src/common/measurement.c
M tests/meas/meas_test.c
2 files changed, 32 insertions(+), 69 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/86/28086/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/28086
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8cc3a755a8ad4dc564439aab2298c1e97ac0592d
Gerrit-Change-Number: 28086
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: laforge, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/28086 )
Change subject: measurement: fix matching of SUB frames by TDMA FN
......................................................................
Patch Set 1:
(3 comments)
File src/common/measurement.c:
https://gerrit.osmocom.org/c/osmo-bts/+/28086/comment/96cb455c_8d48a5cc
PS1, Line 23: /* TCH/H(0): 0, 2, 4, 6, 52, 54, 56, 58 */
> Maybe use ";" to separate between the 2 blocks, it's easier to understand: […]
In this comment it's just a set of FNs copied from 3GPP TS 45.008 as-is. Blocks with the respective FNs they consist of are listed below this comment. I don't think a semicolon makes sense here.
https://gerrit.osmocom.org/c/osmo-bts/+/28086/comment/fd642245_a8d7b4af
PS1, Line 26: /* TCH/H(1): 14, 16, 18, 20, 66, 68, 70, 72 */
> same
Same here, blocks are listed below. This is one-to-one copy from 3GPP TS 45.008.
https://gerrit.osmocom.org/c/osmo-bts/+/28086/comment/ac4879d4_c7c4c3ec
PS1, Line 65: * There is only one *complete* block in this subset starting at FN=52.
> So you first say there's a complete block starting at FN=52, but in next line you say the one starti […]
The first FN of incomplete block {52, 53, 54, 55} is actually several FNs earlier, because on TCH/F every block is interleaved over 8 consecutive bursts. But in DTXu mode, the MS does not transmit the first 4 bursts - that's why I am not listing them in square brackets. Maybe saying {... 52, 53, 54, 55} and {56, 57, 58, 59 ...} would make it cleaner?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/28086
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I8cc3a755a8ad4dc564439aab2298c1e97ac0592d
Gerrit-Change-Number: 28086
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 10 May 2022 13:26:08 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/28085 )
Change subject: measurement: move SACCH detection to process_l1sap_meas_data()
......................................................................
Patch Set 1:
(1 comment)
File src/common/l1sap.c:
https://gerrit.osmocom.org/c/osmo-bts/+/28085/comment/261a2e32_bf85c471
PS1, Line 725: .is_sub = info_meas_ind->is_sub,
> this looks weird. You first set it and then use it to re-set it. […]
This is done on purpose because in AMR mode the caller of this function sets .is_sub itself. If it's set to true by the caller, then we know that it's a SUB frame and do nothing. If it's false, then we do some additional checks here.
Doing what you suggest would break SUB detection for AMR. The correct condition would be:
if (info_meas_ind->is_sub || trx_sched_is_sacch_fn(lchan->ts, fn, true))
ulm.is_sub = 1;
If you find this cleaner, I'll update the patch.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/28085
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I507e96ee34ac0f8b7a2a6f16a8c7f92bc467df60
Gerrit-Change-Number: 28085
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 10 May 2022 12:51:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/28077 )
Change subject: TbfTest: Reset MS timeout to 0 in test_tbf_dl_llc_loss()
......................................................................
TbfTest: Reset MS timeout to 0 in test_tbf_dl_llc_loss()
The timeout is set to a high value to avoid freeing the MS during main
loop iteration. Let's set it back to 0 to have a common free path in
test infrastructure.
Change-Id: I6dc4765163fde1a46574b49f3185aea65391e0d0
---
M tests/tbf/TbfTest.cpp
1 file changed, 2 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp
index 585496a..116b234 100644
--- a/tests/tbf/TbfTest.cpp
+++ b/tests/tbf/TbfTest.cpp
@@ -622,6 +622,8 @@
fprintf(stderr, "=== end %s ===\n", __func__);
+ /* Restore MS release timeout to 0 to make sure it is freed immediately: */
+ ms_set_timeout(ms, 0);
TALLOC_FREE(the_pcu);
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/28077
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I6dc4765163fde1a46574b49f3185aea65391e0d0
Gerrit-Change-Number: 28077
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/28075 )
Change subject: gprs_pcu: Explicitly free all bts objects in list before freeing pcu
......................................................................
gprs_pcu: Explicitly free all bts objects in list before freeing pcu
This is mostly important to unit tests, where the gprs_pcu object is
recreated several times (it is not recreated in normal operation).
The BTS objects are already being freed through talloc dependency tree.
However, since they may trigger counter updates, access to the pcu list,
etc, let's better do it explicitly before erasing gprs_pcu object
fields.
Related: OS#5555
Change-Id: If2a8360e214d993a8a89993532ff1099b30bdbb1
---
M src/gprs_pcu.c
1 file changed, 4 insertions(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c
index e8dba06..ecb7f29 100644
--- a/src/gprs_pcu.c
+++ b/src/gprs_pcu.c
@@ -61,6 +61,10 @@
static int gprs_pcu_talloc_destructor(struct gprs_pcu *pcu)
{
+ struct gprs_rlcmac_bts *bts;
+ while ((bts = llist_first_entry_or_null(&pcu->bts_list, struct gprs_rlcmac_bts, list)))
+ talloc_free(bts);
+
if (osmo_timer_pending(&pcu->update_stats_timer))
osmo_timer_del(&pcu->update_stats_timer);
neigh_cache_free(pcu->neigh_cache);
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/28075
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: If2a8360e214d993a8a89993532ff1099b30bdbb1
Gerrit-Change-Number: 28075
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged