Project

General

Profile

Actions

Feature #6388

open

stats_reporter via osmo_io / io_uring?

Added by laforge about 2 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
03/02/2024
Due date:
% Done:

0%

Spec Reference:
Tags:

Description

I briefly looked at migrating the osmo_stats_reporter over to osmo_io, and I'm not entirely sure if it's that great an idea. Right now each stats_reporter has one msgb that's allocated at socket-open time. Whenever there's something to write, that buffer is used and then immediately sent off using sendto(). There's no integration into the osmocom select loop. We always assume the [udp] socket is writable. The buffers are hence never free'd or re-allocated at runtime.

If we switch over to osmo_io, then it would mean every stats report allocates a new msgb, and once that's handed over to the io_uring backend there are even more allocations. So yes, we'd save the sendto system call, but at the cost of more load on the heap allocator. The syscall is likely more expensive, sure. But is it worth it? I'm not so sure.


Related issues

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

Actions
Actions #1

Updated by laforge about 2 months ago

  • Related to Feature #5751: io_uring support in libosmocore added
Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)