android13/external/liburing
liiir1985 7f62dcda9f initial 2024-06-22 20:45:49 +08:00
..
debian initial 2024-06-22 20:45:49 +08:00
examples initial 2024-06-22 20:45:49 +08:00
man initial 2024-06-22 20:45:49 +08:00
src initial 2024-06-22 20:45:49 +08:00
test initial 2024-06-22 20:45:49 +08:00
.travis.yml initial 2024-06-22 20:45:49 +08:00
Android.bp initial 2024-06-22 20:45:49 +08:00
COPYING initial 2024-06-22 20:45:49 +08:00
COPYING.GPL initial 2024-06-22 20:45:49 +08:00
LICENSE initial 2024-06-22 20:45:49 +08:00
METADATA initial 2024-06-22 20:45:49 +08:00
MODULE_LICENSE_MIT_LGPL initial 2024-06-22 20:45:49 +08:00
Makefile initial 2024-06-22 20:45:49 +08:00
Makefile.quiet initial 2024-06-22 20:45:49 +08:00
NOTICE initial 2024-06-22 20:45:49 +08:00
OWNERS initial 2024-06-22 20:45:49 +08:00
README initial 2024-06-22 20:45:49 +08:00
configure initial 2024-06-22 20:45:49 +08:00
liburing.pc.in initial 2024-06-22 20:45:49 +08:00
liburing.spec initial 2024-06-22 20:45:49 +08:00
make-debs.sh initial 2024-06-22 20:45:49 +08:00

README

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