Project

General

Profile

Actions

Feature #5755

open

io_uring support in osmo-bsc

Added by laforge over 1 year ago. Updated about 2 months ago.

Status:
In Progress
Priority:
High
Assignee:
Category:
-
Target version:
-
Start date:
11/09/2022
Due date:
% Done:

80%

Spec Reference:
Tags:

Description

Once libosmocore provides the new API for the upcoming io_uring backend (#5751) we will need to port osmo-bsc over to this new API.

Some I/O is done directly by osmo-bsc, while other I/O is done via libaries such as libosmo-sigtran, libosmo-netif, libosmo-mgcp-client. There are separate tickets for porting over those libraries. Once that has happened, there might also be API changes for osmo-bsc to catch up with.

Currently we're using the following code-paths for I/O

osmo-bsc function I/O function provided by
bsc_sccplite_mgcp_proxy_cb recv -
bsc_sccplite_rx_mgcp send -
cbsp_srv_cb/cbsp_client_read_cb osmo_cbsp_recv_buffered libosmocore
cbsp_tx_decoded osmo_stream_{cli,srv}_send libosmo-netif
Abis interface - libosmo-abis
A+Lb interface - libosmo-sigtran
VTY interface - libosmo-vty
CTRL interface - libosmo-ctrl

We need to analyze each of those and migrate, if possible.

There is also some other I/O like meas_feed, pcu_sock rf_ctrl which are not performance critical and hence can stay like they are and are not further discussed here.


Checklist

  • A+Lb interface via libosmo-sigtran
  • Abis interface via libosmo-abis
  • CBSP interface

Related issues

Related to libosmocore - Feature #5751: io_uring support in libosmocoreResolvedjolly11/09/2022

Actions
Related to Core testing infrastructure - Feature #6357: run (some?) tests with io_uring backend for osmo_ioResolvedosmith02/09/2024

Actions
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)