Feature #5753
closedio_uring support in libosmo-netif
100%
Description
Once libosmocore provides the new API for the upcoming io_uring backend (#5751) we will need to port libosmo-netif over to this new API.
Currently we're using the following code-paths for I/O
libosmo-netif function | I/O function | provided by |
---|---|---|
osmo_stream_{cli,srv}_recv | recv | - |
osmo_stream_srv_recv | sctp_recvmsg | libsctp |
osmo_stream_cli_write | send | - |
osmo_stream_{cli,srv}_write | sctp_send | libsctp |
We need to analyze each of those and migrate, if possible.
Files
Related issues
Updated by laforge over 1 year ago
- Related to Feature #5751: io_uring support in libosmocore added
Updated by laforge about 1 year ago
- Related to Feature #5752: io_uring support in libosmo-sigtran added
Updated by laforge about 1 year ago
some clarification compared to the orignal ticket from 5 months ago:
- libosmo-netif shall be ported over to using osmo_io
- whether or not osmo_io will use io_uring or whatever other backend to the operating system kernel, is out of scope for this ticket
- there's no need for libosmo-netif to directly interact with the I/O functions indicated in the original ticket description. They merely existed as a result of an analysis before the work started.
- an osmo-* application program, calling
- libosmo-netif functions (like today), calling
- osmo_io functions (as opposed to other direct I/O APIs today)
- calling whatever osmo_io backend, calling
- operating system calls
Updated by arehbein about 1 year ago
- Status changed from New to In Progress
- % Done changed from 0 to 60
Updated by arehbein 10 months ago
- File chatlog.txt chatlog.txt added
- Status changed from In Progress to Feedback
Currently waiting for more feedback (CR...); there has been a discussion recently concerning certain design choices in the IRC #osmocom channel (I have attached a chat log for reference).
Updated by laforge 6 months ago
- Status changed from Stalled to Resolved
- % Done changed from 70 to 100
Applied in changeset libosmo-netif|9bf4e7cb14676d80f81a048724bcaa21f4cfeed2.
Updated by laforge 4 months ago
- Status changed from Resolved to Stalled
- Assignee set to Hoernchen
my latest WIP code is in laforge/osmo_io_sctp
branch of libosmo-netif.git
I think the latest problem revolved around non-blocking connect of SCTP client sockets, and I hacked examples/osmo-stream-* to use SCTP in order to test/play/debug that.
Updated by laforge 4 months ago
- Status changed from Stalled to Resolved
Applied in changeset libosmo-netif|7c8a8060a157e037c735d609449bb6ea9bb9a4cb.
Updated by laforge 3 months ago
- Status changed from In Progress to Resolved
Applied in changeset libosmo-netif|960af680a6a2f89f73305e588baf0c36af10f888.
Updated by laforge 3 months ago
- Related to Feature #6357: run (some?) tests with io_uring backend for osmo_io added