Attention is currently required from: jolly, laforge.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/40725?usp=email
to look at the new patch set (#7).
The following approvals got outdated and were removed: Code-Review-1 by laforge, Verified+1 by Jenkins Builder
Change subject: Automatically increase io_uring, if too small. ......................................................................
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, 148 insertions(+), 40 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/40725/7