47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
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/
|
|
|
|
|
|
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.
|
|
|
|
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 2020-01-20
|