High-performance I/O using io_uring via osmo_io
05-03, 17:00–17:45 (Europe/Berlin), Meeting Room

Traditional socket I/O via read/write/recvfrom/sendto/recvmsg/sendmsg and friends creates a very high system call load. A highly-loaded osmo-bsc spends most of its time in syscall entry and syscall exit.

io_uring is a modern Linux kernel mechanism to avoid this syscall overhead. We have introduced the osmo_ioAPI to libosmocore as a generic back-end for non-blocking/asynchronous I/O and a back-end for our classic osmo_fd / poll approach as well as a new backend for io_uring.

The talk will cover
* a very basic io_uring introduction
* a description of the osmo_io API
* the difficulties porting from osmo_fd to osmo_io
* status of porting various sub-systems over to osmo_io

One of the original authors of OpenBSC and OsmocomBB, both of which turned into Osmocom later on. Also co-founder of sysmocom, the leading company for professional R&D around many osmocom projects and largest contributor to Osmocom.

In previous lives, I hacked [among other things] on netfilter/iptables, OpenMoko and did a lot of work in terms of legal compliance to Open Source licenses at gpl-violations.org

This speaker also appears in: