Attention is currently required from: Hoernchen, laforge, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/35870?usp=email )
Change subject: mobile: fix GAPK I/O producing too many UL frames
......................................................................
Patch Set 1:
(1 comment)
File src/host/layer23/src/mobile/gapk_io.c:
https://gerrit.osmocom.org/c/osmocom-bb/+/35870/comment/754ea21f_c5b58a52
PS1, Line 521: /* Serves both UL/DL TCH frame I/O buffers */
> This line needs to be updated to remove the DL part I think.
Done
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35870?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I3a7fa223cb592acd5b850819e0682c9c8f81e9d1
Gerrit-Change-Number: 35870
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 06 Feb 2024 12:15:27 +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: Hoernchen, fixeria, laforge.
Hello Hoernchen, Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmocom-bb/+/35870?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by laforge, Verified+1 by Jenkins Builder
Change subject: mobile: fix GAPK I/O producing too many UL frames
......................................................................
mobile: fix GAPK I/O producing too many UL frames
GAPK I/O is currently generating too many UL voice frames, causing
Tx queue overflow in the L1 PHY. Change the logic to make DL voice
frames drive the Uplink processing chain, like we do for CSD.
Change-Id: I3a7fa223cb592acd5b850819e0682c9c8f81e9d1
---
M src/host/layer23/include/osmocom/bb/mobile/gapk_io.h
M src/host/layer23/include/osmocom/bb/mobile/tch.h
M src/host/layer23/src/mobile/app_mobile.c
M src/host/layer23/src/mobile/gapk_io.c
M src/host/layer23/src/mobile/tch.c
M src/host/layer23/src/mobile/tch_voice.c
6 files changed, 31 insertions(+), 71 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/70/35870/2
--
To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/35870?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I3a7fa223cb592acd5b850819e0682c9c8f81e9d1
Gerrit-Change-Number: 35870
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35882?usp=email )
Change subject: tbf_ul: Clean and assert code path generating new UL data block
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35882?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I6d4ae377a60839f76295c0e7e6aaa1fe53e37315
Gerrit-Change-Number: 35882
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 06 Feb 2024 11:24:45 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: fixeria.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35858?usp=email )
Change subject: rlcmac: uncomment RLC/MAC msg_type checking in DATA.cnf
......................................................................
Patch Set 3:
(1 comment)
File tests/rlcmac/rlcmac_prim_test.c:
https://gerrit.osmocom.org/c/libosmo-gprs/+/35858/comment/dcc9347f_302637f4
PS3, Line 640: rlcmac_prim = osmo_gprs_rlcmac_prim_alloc_l1ctl_pdch_data_cnf(ts_nr, rts_fn, NULL, 0); // FIXME: pass a valid RLC/MAC block here
The easiest is probably that you memcpy() the buffer in line 495 when receiveign the DATA.req in the callback where this test emulates the lower layer.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35858?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I4a0c553201d51453d9197d254f796f6574a2dab0
Gerrit-Change-Number: 35858
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 06 Feb 2024 10:50:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/35882?usp=email )
Change subject: tbf_ul: Clean and assert code path generating new UL data block
......................................................................
tbf_ul: Clean and assert code path generating new UL data block
Clarify the several paths when generating a new BSN (UL data block).
The function create_new_bsn() is only called if there's some LLC frame
ready to be transmitted and put in ul_tbf->llc_tx_msg, so the do while
{} condition checking for no llc_tx_msg is guaranteed to only be run in
the event some LLC frame chunks have been included in the UL RLC block.
This fact allows simplifying the code and at the same time fix a
Coverity CID regarding a code path which could not really happen. We now
guard this case with an ASSERT.
Related: Coverity CID#345063
Change-Id: I6d4ae377a60839f76295c0e7e6aaa1fe53e37315
---
M src/rlcmac/tbf_ul.c
1 file changed, 37 insertions(+), 15 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/82/35882/1
diff --git a/src/rlcmac/tbf_ul.c b/src/rlcmac/tbf_ul.c
index 0ea0a9c..67c9e98 100644
--- a/src/rlcmac/tbf_ul.c
+++ b/src/rlcmac/tbf_ul.c
@@ -684,6 +684,7 @@
if (!ul_tbf->llc_tx_msg || msgb_length(ul_tbf->llc_tx_msg) == 0)
gprs_rlcmac_ul_tbf_schedule_next_llc_frame(ul_tbf);
+ /* This function shall only be called if there's some LLC payload not yet transmitted: */
OSMO_ASSERT(ul_tbf->llc_tx_msg);
OSMO_ASSERT(gprs_rlcmac_mcs_is_valid(cs));
@@ -734,27 +735,29 @@
int payload_written = 0;
if (!ul_tbf->llc_tx_msg || msgb_length(ul_tbf->llc_tx_msg) == 0) {
+ const int space = block_data_len - write_offset;
+ /* Only get here in case we already encoded the end of
+ * some LLC payload chunk and there's no more new LLC
+ * payloads to send */
+ OSMO_ASSERT(num_chunks > 0);
+
/* The data just drained, store the current fn */
if (ul_tbf->last_ul_drained_fn < 0)
ul_tbf->last_ul_drained_fn = bi->fn;
- int space = block_data_len - write_offset;
+ /* Nothing to send, and we already put some data in
+ * rlcmac data block, we are done */
+ LOGPTBFUL(ul_tbf, LOGL_DEBUG,
+ "LLC queue completely drained and there's "
+ "still %d free bytes in rlcmac data block\n", space);
- if (num_chunks != 0) {
- /* Nothing to send, and we already put some data in
- * rlcmac data block, we are done */
- LOGPTBFUL(ul_tbf, LOGL_DEBUG,
- "LLC queue completely drained and there's "
- "still %d free bytes in rlcmac data block\n", space);
-
- if (gprs_rlcmac_mcs_is_edge(cs)) {
- /* in EGPRS there's no M bit, so we need
- * to flag padding with LI=127 */
- gprs_rlcmac_rlc_data_to_ul_append_egprs_li_padding(
- rdbi, &write_offset, &num_chunks, data);
- }
- break;
+ if (gprs_rlcmac_mcs_is_edge(cs)) {
+ /* in EGPRS there's no M bit, so we need to flag
+ * padding with LI=127 */
+ gprs_rlcmac_rlc_data_to_ul_append_egprs_li_padding(
+ rdbi, &write_offset, &num_chunks, data);
}
+ break;
}
ar = gprs_rlcmac_enc_append_ul_data(rdbi, cs, ul_tbf->llc_tx_msg, &write_offset,
--
To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/35882?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I6d4ae377a60839f76295c0e7e6aaa1fe53e37315
Gerrit-Change-Number: 35882
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange