blob: a76021ef4c8febb28aa05f03b06d51fcd50e8545 [file] [log] [blame]
Jens Axboe72d7f5a2019-08-05 12:06:42 -06001liburing
2--------
3
Jobs Gate8abda3b2020-07-06 23:02:05 +08004This is the io_uring library, liburing. liburing provides helpers to setup and
Jens Axboe72d7f5a2019-08-05 12:06:42 -06005teardown io_uring instances, and also a simplified interface for
6applications that don't need (or want) to deal with the full kernel
7side implementation.
8
9For more info on io_uring, please see:
10
Jens Axboeb1414672019-11-04 15:38:38 -070011https://kernel.dk/io_uring.pdf
12
13Subscribe to io-uring@vger.kernel.org for io_uring related discussions
14and development for both kernel and userspace. The list is archived here:
15
16https://lore.kernel.org/io-uring/
Jens Axboe72d7f5a2019-08-05 12:06:42 -060017
Jens Axboed9b3a102019-11-10 22:10:27 -070018
19ulimit settings
20---------------
21
22io_uring accounts memory it needs under the rlimit memlocked option, which
23can be quite low on some setups (64K). The default is usually enough for
24most use cases, but bigger rings or things like registered buffers deplete
25it quickly. root isn't under this restriction, but regular users are. Going
26into detail on how to bump the limit on various systems is beyond the scope
27of this little blurb, but check /etc/security/limits.conf for user specific
28settings, or /etc/systemd/user.conf and /etc/systemd/system.conf for systemd
29setups.
30
Jens Axboe236570e2020-01-30 09:08:07 -070031Regressions tests
32-----------------
33
34The bulk of liburing is actually regression/unit tests for both liburing and
35the kernel io_uring support. Please note that this suite isn't expected to
36pass on older kernels, and may even crash or hang older kernels!
37
Jens Axboeb9f507d2020-01-20 15:50:36 -070038License
39-------
Jens Axboed9b3a102019-11-10 22:10:27 -070040
Jens Axboeb9f507d2020-01-20 15:50:36 -070041All software contained within this repo is dual licensed LGPL and MIT, see
Guillem Jover8e9f14e2020-04-11 20:24:05 +020042COPYING and LICENSE, except for a header coming from the kernel which is
43dual licensed GPL with a Linux-syscall-note exception and MIT, see
44COPYING.GPL and <https://spdx.org/licenses/Linux-syscall-note.html>.
Jens Axboeb9f507d2020-01-20 15:50:36 -070045
46Jens Axboe 2020-01-20