Git Product home page Git Product logo

netty-incubator-transport-io_uring's Introduction

Build project

Netty io_uring

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

Requirements:

  • x86-64 processor
  • at least 5.9
  • to run the tests, you have to increase memlock(default 64K)

See our wiki page.

How to include the dependency

To include the dependency you need to ensure you also specify the right classifier. At the moment we only support linux x86_64 but this may change.

As an example this is how you would include the dependency in maven:

<dependency>
    <groupId>io.netty.incubator</groupId>
    <artifactId>netty-incubator-transport-native-io_uring</artifactId>
    <version>0.0.3.Final</version>
    <classifier>linux-x86_64</classifier>
</dependency>

FAQ

I tried to use io_uring but got java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory

When you tried to use io_uring but saw an exception that looked like this please try to encreate the memlock limit for the user that tries to use io_uring:

Exception in thread "main" java.lang.UnsatisfiedLinkError: failed to load the required native library
	at io.netty.incubator.channel.uring.IOUring.ensureAvailability(IOUring.java:63)
        ...
        ...
Caused by: java.lang.RuntimeException: failed to create io_uring ring fd Cannot allocate memory
	at io.netty.incubator.channel.uring.Native.ioUringSetup(Native Method)
	at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:141)
	at io.netty.incubator.channel.uring.Native.createRingBuffer(Native.java:174)
	at io.netty.incubator.channel.uring.IOUring.<clinit>(IOUring.java:36)
	... 17 more

You can check your current memlock settings by

$ ulimit -l
65536

netty-incubator-transport-io_uring's People

Contributors

1jo1 avatar amizurov avatar dependabot[bot] avatar hyperxpro avatar netty-project-bot avatar njhill avatar normanmaurer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.