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>
Attention is currently required from: falconia, jolly.
pespin 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:
(2 comments)
File include/osmocom/netif/twjit.h:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/1191a356_97659d7… :
PS2, Line 137: bool osmo_twjit_got_any_input(struct osmo_twjit *twjit);
> I have warmed up to your idea of renaming this API, and I would like to include the same rename in m […]
I'm fine with either of the two proposed.
File src/twjit.c:
https://gerrit.osmocom.org/c/libosmo-netif/+/39280/comment/e240e539_8ae28ef… :
PS2, Line 504: rtph = osmo_rtp_get_hdr(msg);
> @pespin@sysmocom. […]
I mean dropping ortp completely. I dislike the idea of maintaing both ortp and twrtp.
Fine with the other stuff you mentioned.
Feel free to submit some RFC patch for osmo-bts in gerrit once you want to receive feedback.
--
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: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Thu, 21 Aug 2025 11:30:16 +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>