|
Packit |
d3489f |
liburing
|
|
Packit |
d3489f |
--------
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
This is the io_uring library, liburing. liburing provides helpers to setup and
|
|
Packit |
d3489f |
teardown io_uring instances, and also a simplified interface for
|
|
Packit |
d3489f |
applications that don't need (or want) to deal with the full kernel
|
|
Packit |
d3489f |
side implementation.
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
For more info on io_uring, please see:
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
https://kernel.dk/io_uring.pdf
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
Subscribe to io-uring@vger.kernel.org for io_uring related discussions
|
|
Packit |
d3489f |
and development for both kernel and userspace. The list is archived here:
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
https://lore.kernel.org/io-uring/
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
ulimit settings
|
|
Packit |
d3489f |
---------------
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
io_uring accounts memory it needs under the rlimit memlocked option, which
|
|
Packit |
d3489f |
can be quite low on some setups (64K). The default is usually enough for
|
|
Packit |
d3489f |
most use cases, but bigger rings or things like registered buffers deplete
|
|
Packit |
d3489f |
it quickly. root isn't under this restriction, but regular users are. Going
|
|
Packit |
d3489f |
into detail on how to bump the limit on various systems is beyond the scope
|
|
Packit |
d3489f |
of this little blurb, but check /etc/security/limits.conf for user specific
|
|
Packit |
d3489f |
settings, or /etc/systemd/user.conf and /etc/systemd/system.conf for systemd
|
|
Packit |
d3489f |
setups.
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
Regressions tests
|
|
Packit |
d3489f |
-----------------
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
The bulk of liburing is actually regression/unit tests for both liburing and
|
|
Packit |
d3489f |
the kernel io_uring support. Please note that this suite isn't expected to
|
|
Packit |
d3489f |
pass on older kernels, and may even crash or hang older kernels!
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
License
|
|
Packit |
d3489f |
-------
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
All software contained within this repo is dual licensed LGPL and MIT, see
|
|
Packit |
d3489f |
COPYING and LICENSE, except for a header coming from the kernel which is
|
|
Packit |
d3489f |
dual licensed GPL with a Linux-syscall-note exception and MIT, see
|
|
Packit |
d3489f |
COPYING.GPL and <https://spdx.org/licenses/Linux-syscall-note.html>.
|
|
Packit |
d3489f |
|
|
Packit |
d3489f |
Jens Axboe 2020-01-20
|