Name Date Size #Lines LOC

..--

.github/H25-Apr-2025-236176

debian/H25-Apr-2025-279217

examples/H25-Apr-2025-903715

man/H25-Apr-2025-10,8589,818

src/H25-Apr-2025-3,9442,849

test/H25-Apr-2025-31,94625,801

.gitignoreH A D25-Apr-2025301 3022

Android.bpH A D25-Apr-20251.2 KiB5954

CHANGELOGH A D25-Apr-20251.4 KiB3028

CITATION.cffH A D25-Apr-2025244 1211

COPYINGH A D25-Apr-202525.9 KiB503418

COPYING.GPLH A D25-Apr-202517.7 KiB340281

LICENSEH A D25-Apr-20251 KiB2117

METADATAH A D25-Apr-2025324 1816

MODULE_LICENSE_MIT_LGPLHD25-Apr-20250

MakefileH A D25-Apr-20252.2 KiB8566

Makefile.commonH A D25-Apr-2025256 76

Makefile.quietH A D25-Apr-2025237 129

NOTICEH A D25-Apr-20251 KiB84

OWNERSH A D25-Apr-202539 32

READMEH A D25-Apr-20252 KiB5940

SECURITY.mdH A D25-Apr-2025206 74

configureH A D25-Apr-202510.7 KiB488397

liburing.pc.inH A D25-Apr-2025233 1310

liburing.specH A D25-Apr-20251.7 KiB6755

make-debs.shH A D25-Apr-20251.7 KiB5425

README

1liburing
2--------
3
4This is the io_uring library, liburing. liburing provides helpers to setup and
5teardown 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
11https://kernel.dk/io_uring.pdf
12
13Subscribe to [email protected] for io_uring related discussions
14and development for both kernel and userspace. The list is archived here:
15
16https://lore.kernel.org/io-uring/
17
18
19kernel version dependency
20--------------------------
21
22liburing itself is not tied to any specific kernel release, and hence it's
23possible to use the newest liburing release even on older kernels (and vice
24versa). Newer features may only be available on more recent kernels,
25obviously.
26
27
28ulimit settings
29---------------
30
31io_uring accounts memory it needs under the rlimit memlocked option, which
32can be quite low on some setups (64K). The default is usually enough for
33most use cases, but bigger rings or things like registered buffers deplete
34it quickly. root isn't under this restriction, but regular users are. Going
35into detail on how to bump the limit on various systems is beyond the scope
36of this little blurb, but check /etc/security/limits.conf for user specific
37settings, or /etc/systemd/user.conf and /etc/systemd/system.conf for systemd
38setups. This affects 5.11 and earlier, new kernels are less dependent
39on RLIMIT_MEMLOCK as it is only used for registering buffers.
40
41
42Regressions tests
43-----------------
44
45The bulk of liburing is actually regression/unit tests for both liburing and
46the kernel io_uring support. Please note that this suite isn't expected to
47pass on older kernels, and may even crash or hang older kernels!
48
49
50License
51-------
52
53All software contained within this repo is dual licensed LGPL and MIT, see
54COPYING and LICENSE, except for a header coming from the kernel which is
55dual licensed GPL with a Linux-syscall-note exception and MIT, see
56COPYING.GPL and <https://spdx.org/licenses/Linux-syscall-note.html>.
57
58Jens Axboe 2022-05-19
59