Attention is currently required from: jolly, pespin.

jolly uploaded patch set #3 to this change.

View Change

The following approvals got outdated and were removed: Verified+1 by Jenkins Builder

Automatically increase io_uring, if too small.

The ring may be too small to store all SQEs before the kernel can
handle them. If this happens, a new ring is allocated with twice of the
size of the old ring. The old ring will not be destroyed, as it still
contains uncompleted elements. Some of them may never be completed.

A pointer to the current ring will be stored within the msghdr
structure. It is used when cancelling an SQE. The cancellation must be
performed in the same ring where it was created.

It is quite unlikely that the old ring cannot store the cancellation
SQE. If this happens, the kernel is given some time to handle the SQEs.

The initial size of the ring can be changed via environment variable.

Related: OS#6705
Change-Id: Id9230146acc8d54bfd44834e783c31b37bd64bca
---
M src/core/osmo_io_internal.h
M src/core/osmo_io_uring.c
2 files changed, 65 insertions(+), 25 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/40725/3

To view, visit change 40725. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newpatchset
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id9230146acc8d54bfd44834e783c31b37bd64bca
Gerrit-Change-Number: 40725
Gerrit-PatchSet: 3
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-CC: pespin <pespin@sysmocom.de>
Gerrit-Attention: jolly <andreas@eversberg.eu>
Gerrit-Attention: pespin <pespin@sysmocom.de>