Attention is currently required from: falconia, fixeria, jolly, pespin.
laforge has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email )
Change subject: bring twjit into libosmo-netif
......................................................................
Patch Set 5:
(1 comment)
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/35c8d3aa_1474d23… :
PS2, Line 504: rtph = osmo_rtp_get_hdr(msg);
> > I mean dropping ortp completely. I dislike the idea of maintaing both ortp and twrtp. […]
I wouldn't mind getting rid of ortp and switching to something else. However, there's of course always a risk of regressions or fall-out in some scenarios. The most challenging environments are likely those with satellite (and hence latency + jitter-heavy) back-haul of Abis or A, but then that's also where I'd expect commercial production deployments to use OSMUX instead of RTP anyway.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ia3be5834571ca18b68939abbcf1ce3a879156658
Gerrit-Change-Number: 39280
Gerrit-PatchSet: 5
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 21 Aug 2025 14:36:36 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: falconia <falcon(a)freecalypso.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: laforge, pespin.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/40725?usp=email
to look at the new patch set (#14).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: Automatically increase io_uring, if too small.
......................................................................
Automatically increase io_uring, if too small.
The ring may be too small to store all SQEs before the kernel can
handle them. If this happens, a new ring is allocated with twice of the
size of the old ring. The old ring will not be destroyed, as it still
contains uncompleted elements. Some of them may never be completed.
A pointer to the current ring will be stored within the msghdr
structure. It is used when cancelling an SQE. The cancellation must be
performed in the same ring where it was created.
It is quite unlikely that the old ring cannot store the cancellation
SQE. If this happens, the cancellation is queued and submitted, once
the ring can store it.
The old ring will not be removed, because there is currently no counter
to determine when all submissions are completed.
Related: OS#6705
Change-Id: Id9230146acc8d54bfd44834e783c31b37bd64bca
---
M src/core/osmo_io_internal.h
M src/core/osmo_io_uring.c
2 files changed, 148 insertions(+), 39 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/40725/14
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40725?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id9230146acc8d54bfd44834e783c31b37bd64bca
Gerrit-Change-Number: 40725
Gerrit-PatchSet: 14
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: laforge, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/40494?usp=email
to look at the new patch set (#15).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: Send multiple read/recvfrom/recvmsg SQEs in advance
......................................................................
Send multiple read/recvfrom/recvmsg SQEs in advance
Multiple read or recvfrom operations can be submitted via SQEs when
using io_uring. This allows reading multiple packet / more data between
calls of osmo_select_main() the main loop.
Having more than one SQE submitted is optional and the number can be
controlled via environment variable.
Related: OS#6705
Change-Id: Id50a8900fa2fe6de553e5025feae7e1e8d501e30
---
M include/osmocom/core/osmo_io.h
M src/core/libosmocore.map
M src/core/osmo_io.c
M src/core/osmo_io_internal.h
M src/core/osmo_io_uring.c
5 files changed, 103 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/40494/15
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40494?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id50a8900fa2fe6de553e5025feae7e1e8d501e30
Gerrit-Change-Number: 40494
Gerrit-PatchSet: 15
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: jolly, laforge, pespin.
Hello Jenkins Builder, laforge, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/40855?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Code-Review+2 by laforge, Verified+1 by Jenkins Builder
The change is no longer submittable: Code-Review and Verified are unsatisfied now.
Change subject: Remove old empty io_uring
......................................................................
Remove old empty io_uring
A previous patch creates a new io_uring, if it becomes too small to
store all SQEs. When all SQEs of the old ring are completed, the old
ring will be destroyed.
A counter is incremented whenever an SQE is submitted to an io_uring.
The counter is decremented whenever a CQE is received and handled. This
counter will determine when a ring is empty and can be destroyed.
Related: OS#6705
Change-Id: Id2d2a0400ad442198c684ea0ead4eaeaead4c53d
---
M src/core/osmo_io_uring.c
1 file changed, 36 insertions(+), 8 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/40855/5
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40855?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id2d2a0400ad442198c684ea0ead4eaeaead4c53d
Gerrit-Change-Number: 40855
Gerrit-PatchSet: 5
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: jolly, pespin.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/40856?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: Put all io_uring related read and write states into sub structures
......................................................................
Put all io_uring related read and write states into sub structures
Related: OS#6705
Change-Id: I3cf4ab6d9aebf5532ad174c90c7b0e9633491c88
---
M src/core/osmo_io.c
M src/core/osmo_io_internal.h
M src/core/osmo_io_uring.c
3 files changed, 70 insertions(+), 63 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/40856/4
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40856?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I3cf4ab6d9aebf5532ad174c90c7b0e9633491c88
Gerrit-Change-Number: 40856
Gerrit-PatchSet: 4
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Attention is currently required from: laforge, pespin.
jolly has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/libosmocore/+/40725?usp=email )
Change subject: Automatically increase io_uring, if too small.
......................................................................
Patch Set 13:
(3 comments)
File src/core/osmo_io_uring.c:
https://gerrit.osmocom.org/c/libosmocore/+/40725/comment/bf35f55d_44a9dc60?… :
PS12, Line 194: /* The current ring is full, so we cannot get SQE for the current ring. */
> And you removed this block, perhaps you wanted to move it up?
This check is not required.
It did stop, if the ring changed, but there is already an SQE on the old ring.
The check above "if (read && ...reads_submitted > 0)" will quit, if the current ring is full and there is already one or more SQEs on the currnet ring.
File src/core/osmo_io_uring.c:
https://gerrit.osmocom.org/c/libosmocore/+/40725/comment/8fa50bbf_264a0aa2?… :
PS13, Line 187: /* The current ring is full, subsequent reasd SQEs on different ring are not allowed. */
> typo: read
Done
https://gerrit.osmocom.org/c/libosmocore/+/40725/comment/3ce5a056_2e785a9e?… :
PS13, Line 188: if (read && iofd->u.uring.reads_submitted > 0)
> btw, I think something's wrong here. […]
The check in line 179 prevents from submitting subsequent SQEs on a new ring.
The check here triggers when the old ring is full (we know it after io_uring_get_sqe() fails), but we already have SQEs. We don't want to create a new ring and add subsequent SQE.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/40725?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id9230146acc8d54bfd44834e783c31b37bd64bca
Gerrit-Change-Number: 40725
Gerrit-PatchSet: 13
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 21 Aug 2025 14:25:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: falconia, pespin.
jolly has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email )
Change subject: bring twjit into libosmo-netif
......................................................................
Patch Set 5:
(1 comment)
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/d52bd514_75f7513… :
PS5, Line 486: msgb_free(new_msg);
> > I looked into your RTP patch. The received RTP frame are directly sent to the jitter buffer. […]
Done
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ia3be5834571ca18b68939abbcf1ce3a879156658
Gerrit-Change-Number: 39280
Gerrit-PatchSet: 5
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 21 Aug 2025 13:05:21 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: jolly <andreas(a)eversberg.eu>
Comment-In-Reply-To: falconia <falcon(a)freecalypso.org>
Attention is currently required from: jolly, pespin.
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email )
Change subject: bring twjit into libosmo-netif
......................................................................
Patch Set 5:
(3 comments)
File include/osmocom/netif/twjit.h:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/dcd4b2b8_4002897… :
PS2, Line 137: bool osmo_twjit_got_any_input(struct osmo_twjit *twjit);
> I'm fine with either of the two proposed.
I'll go with the shorter `osmo_twjit_rr_info_valid()` then.
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/1b794afb_2f3a718… :
PS2, Line 504: rtph = osmo_rtp_get_hdr(msg);
> I mean dropping ortp completely. I dislike the idea of maintaing both ortp and twrtp.
WOW that is bold! Are you really, truly sure though that twrtp will work as a satisfactory replacement for ortp for all Osmocom users who aren't ThemWi? Considering how I designed twjit for my worldview, and considering evidence from past ML threads suggesting that most people in Osmocom hold views generally opposite to mine regarding how the voice plane should work in a GSM network implementation, I find it hard to believe that non-ThemWi users of OsmoBTS would be happy and content if ortp was suddenly swapped out for twrtp.
How do Harald and other senior leaders of Osmocom feel about this issue? Given the magnitude of what is proposed...
> Feel free to submit some RFC patch for osmo-bts in gerrit once you want to receive feedback.
1. I'll be doing this work after the present patches get merged in `libosmo-nettf`, not before;
2. I would need to see full consensus of Osmocom community on the question of doing ortp vs twrtp user-selectable choice, or the super-bold approach of twrtp only.
With the OsmoBTS=internal abstraction layer implemented in my current branch patches, it is possible to build without having ortp present, in which case that particular `osmo-bts-*` binary will only use twrtp. But both libraries are still supported at source level.
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/6de3a61e_6ec6c4b… :
PS5, Line 486: msgb_free(new_msg);
> I looked into your RTP patch. The received RTP frame are directly sent to the jitter buffer. I suggest to split it, so the application can decide which frames are sent to the jitter buffer and which are not. Also it could decide not to use a jitter buffer at all. (when just doing RTP forwarding)
The ability to use twrtp without twjit (non-delayed unbuffered Rx path) is already there: see `osmo_twrtp_set_raw_rx_cb()` in twrtp patch. If you want to do your split idea, you could create a twrtp instance without twjit, then create multiple "standalone" twjit instances, and have your unbuffered/non-delayed Rx callback function do the routing. The only feature you would lose this way, compared to native twrtp with twjit, is generation of RTCP reception reports based on analytics collected by twjit.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ia3be5834571ca18b68939abbcf1ce3a879156658
Gerrit-Change-Number: 39280
Gerrit-PatchSet: 5
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 21 Aug 2025 12:52:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: jolly <andreas(a)eversberg.eu>
Comment-In-Reply-To: falconia <falcon(a)freecalypso.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: falconia.
jolly has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email )
Change subject: bring twjit into libosmo-netif
......................................................................
Patch Set 5:
(1 comment)
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/2bd3233b_02edda4… :
PS5, Line 486: msgb_free(new_msg);
> > Is there a twjit instance for every payload type or one for the complete RTP connection? […]
It is ok for me to have a more specific de-jitter process, rather than something that solves all needs. I looked in my own de-jitter code and found the same. (drop sequence of frames with same time stamp) It makes sense, if only a voice stream (without telephone-events) are de-jittered.
I looked into your RTP patch. The received RTP frame are directly sent to the jitter buffer. I suggest to split it, so the application can decide which frames are sent to the jitter buffer and which are not. Also it could decide not to use a jitter buffer at all. (when just doing RTP forwarding)
--
To view, visit https://gerrit.osmocom.org/c/libosmo-netif/+/39280?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Change-Id: Ia3be5834571ca18b68939abbcf1ce3a879156658
Gerrit-Change-Number: 39280
Gerrit-PatchSet: 5
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: jolly <andreas(a)eversberg.eu>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Thu, 21 Aug 2025 12:01:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: jolly <andreas(a)eversberg.eu>
Comment-In-Reply-To: falconia <falcon(a)freecalypso.org>