Skip to content

InterdimensionalGamesInc/liburing

This branch is 3 commits ahead of, 1194 commits behind axboe/liburing:master.

Folders and files

NameName
Last commit message
Last commit date
Dec 19, 2022
Jul 20, 2021
Nov 25, 2022
Jan 30, 2023
Jan 3, 2023
Jan 30, 2023
Dec 19, 2022
Mar 20, 2022
Aug 3, 2019
Apr 11, 2020
Mar 20, 2022
Dec 19, 2022
Nov 30, 2022
Sep 4, 2020
Jun 4, 2022
Mar 29, 2022
Dec 28, 2022
May 25, 2019
Nov 2, 2022
Nov 21, 2019

Repository files navigation

liburing
--------

This is the io_uring library, liburing. liburing provides helpers to setup and
teardown io_uring instances, and also a simplified interface for
applications that don't need (or want) to deal with the full kernel
side implementation.

For more info on io_uring, please see:

https://kernel.dk/io_uring.pdf

Subscribe to io-uring@vger.kernel.org for io_uring related discussions
and development for both kernel and userspace. The list is archived here:

https://lore.kernel.org/io-uring/


kernel version dependency
--------------------------

liburing itself is not tied to any specific kernel release, and hence it's
possible to use the newest liburing release even on older kernels (and vice
versa). Newer features may only be available on more recent kernels,
obviously.


ulimit settings
---------------

io_uring accounts memory it needs under the rlimit memlocked option, which
can be quite low on some setups (64K). The default is usually enough for
most use cases, but bigger rings or things like registered buffers deplete
it quickly. root isn't under this restriction, but regular users are. Going
into detail on how to bump the limit on various systems is beyond the scope
of this little blurb, but check /etc/security/limits.conf for user specific
settings, or /etc/systemd/user.conf and /etc/systemd/system.conf for systemd
setups. This affects 5.11 and earlier, new kernels are less dependent
on RLIMIT_MEMLOCK as it is only used for registering buffers.


Regressions tests
-----------------

The bulk of liburing is actually regression/unit tests for both liburing and
the kernel io_uring support. Please note that this suite isn't expected to
pass on older kernels, and may even crash or hang older kernels!


License
-------

All software contained within this repo is dual licensed LGPL and MIT, see
COPYING and LICENSE, except for a header coming from the kernel which is
dual licensed GPL with a Linux-syscall-note exception and MIT, see
COPYING.GPL and <https://spdx.org/licenses/Linux-syscall-note.html>.

Jens Axboe 2022-05-19

About

No description, website, or topics provided.

Resources

License

Security policy

Citation

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.6%
  • Makefile 1.3%
  • Other 1.1%