|
2 | 2 |
|
3 | 3 | # Netty io_uring
|
4 | 4 |
|
5 |
| -The new io_uring interface added to the Linux Kernel 5.1 is a high I/O performance scalable interface for fully asynchronous Linux syscalls |
6 |
| - |
7 |
| -## Requirements: |
8 |
| - |
9 |
| -- x86-64 / aarch64 processor |
10 |
| -- at least 5.9 |
11 |
| -- to run the tests, you have to increase memlock(default 64K) |
12 |
| - |
13 |
| - |
14 |
| -See [our wiki page](https://netty.io/wiki/native-transports.html). |
15 |
| - |
16 |
| -## How to include the dependency |
17 |
| - |
18 |
| -To include the dependency you need to ensure you also specify the right classifier. At the moment we only support linux |
19 |
| - x86_64 and aarch_64 but this may change. |
20 |
| - |
21 |
| -As an example this is how you would include the dependency in maven for x86_64: |
22 |
| -``` |
23 |
| -<dependency> |
24 |
| - <groupId>io.netty.incubator</groupId> |
25 |
| - <artifactId>netty-incubator-transport-native-io_uring</artifactId> |
26 |
| - <version>0.0.21.Final</version> |
27 |
| - <classifier>linux-x86_64</classifier> |
28 |
| -</dependency> |
29 |
| -``` |
30 |
| - |
31 |
| -And in gradle: |
32 |
| -``` |
33 |
| -dependencies { |
34 |
| - implementation 'io.netty.incubator:netty-incubator-transport-native-io_uring:0.0.21.Final:linux-x86_64' |
35 |
| -} |
36 |
| -``` |
37 |
| - |
38 |
| -## FAQ |
39 |
| - |
40 |
| -### I tried to use io_uring but got `java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory` |
41 |
| - |
42 |
| -When you tried to use io_uring but saw an exception that looked like this please try to encreate the [memlock limit](https://access.redhat.com/solutions/61334) for the user that tries to use io_uring: |
43 |
| - |
44 |
| - |
45 |
| -``` |
46 |
| -Exception in thread "main" java.lang.UnsatisfiedLinkError: failed to load the required native library |
47 |
| - at io.netty.incubator.channel.uring.IOUring.ensureAvailability(IOUring.java:63) |
48 |
| - ... |
49 |
| - ... |
50 |
| -Caused by: java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory |
51 |
| - at io.netty.incubator.channel.uring.Native.ioUringSetup(Native Method) |
52 |
| - at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:141) |
53 |
| - at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:174) |
54 |
| - at io.netty.incubator.channel.uring.IOUring.<clinit>(IOUring.java:36) |
55 |
| - ... 17 more |
56 |
| -``` |
57 |
| - |
58 |
| - |
59 |
| -You can check your current memlock settings by |
60 |
| - |
61 |
| -``` |
62 |
| -$ ulimit -l |
63 |
| -65536 |
64 |
| -``` |
| 5 | +This repository was archived and io_uring support was merged into [netty 4.2 branch](https://github.com/netty/netty/tree/4.2). |
0 commit comments