io_uring news/status update

Marc Lehmann schmorp at
Sun Jul 26 13:45:53 CEST 2020


I have updated the io_uring backend in libev to the new features introduced
in post-5.4 kernels (which are quite nice).

If people would give it a try to test and see if it works for them (in CVS)
that would be great - linux 5.6 is required, and the backend has to be
manually requested (e.g. with LIBEV_FLAGS=128).

I couldn't give it a thorough testing myself because, unfortunately,
none of the blocking bugs in the kernel have been fixed, so I am unable
to use it in most of my own programs. For obvious reasons, I would wish
bugfixes would receive priority over features, but it's obviously not
what's happening with io_uring.

io_uring is currently like kqueue on OS X - it works with "important" file
types, but it fails as generic mechanism, and there is no way to detect what
will work or not, so workarounds are essentially impossible.

In case anybody wonders about my policy in making a backend the default
backend in libev: I use libev in a number of free software and proprietary
packages, and until I can run most of them correctly for a while, it
won't become default. At the moment, at least rxvt-unicode more or less
instantly crashes due to kernel bugs in io_uring, and urxvt is one of the
first things I run with new changes, so that's why it receives limited

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list