liburing

目录

什么是io_uring?

liburing库编译安装

如何使用io_uring/liburing


解放
--------

这是io_uring库,正在释放。解放提供了帮助者进行设置和
拆卸io_uring实例,以及用于
不需要(或不想)处理完整内核的应用程序
方面的实现。

有关io_uring的更多信息,请参见:

https://kernel.dk/io_uring.pdf

订阅[email protected]进行io_uring相关讨论
以及内核和用户空间的开发。列表在这里存档:

https://lore.kernel.org/io-uring/


ulimit设置
---------------

io_uring在rlimit memlocked选项下需要的内存,其中
在某些设置(64K)上可能会很低。默认值通常足以
大多数情况下,但较大的环或诸如已注册缓冲区之类的东西耗尽
它很快。 root不受此限制,但普通用户受此限制。要去
详细介绍如何突破各种系统的限制超出了范围
这个小blurb,但是请检查/etc/security/limits.conf以了解特定于用户的信息
设置,或/etc/systemd/user.conf和/etc/systemd/system.conf用于systemd
设置。

回归测试
-----------------

实际上,大量的释放是针对释放和释放的回归/单元测试
内核io_uring支持。请注意,此套房不可
传递旧内核,甚至可能崩溃或挂起旧内核!

执照
-------

此仓库中包含的所有软件均为LGPL和MIT双重许可,请参见
COPYING和LICENSE,除了来自内核的标头
具有Linux-syscall-note异常和MIT的双重许可GPL
COPYING.GPL和

什么是io_uring?


io_uring是最新linux内核5.1+提供的新特性
io_uring优势是提供了更高效的IO处理方式
具体看末尾参考文章

 

liburing库编译安装


liburing库实现了io_uring接口,可以方便用户使用

 

wget  https://github.com/axboe/liburing/archive/liburing-0.2.zip
unzip liburing-0.2.zip
cd liburing-liburing-0.2/
./configure --libdir=/usr/lib64 
make CFLAGS=-std=gnu99 && make install

如何使用io_uring/liburing


由于这个特性比较新,公开的资料目前很少
我仅仅为nignx打补丁使用了liburing
https://github.com/hakasenyang/openssl-patch/pull/22
注意: liburing并不稳定,谨慎使用.

 

参考文章
http://kernel.dk/io_uring.pdf
https://github.com/axboe/liburing
https://patchew.org/QEMU/[email protected]/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(基础知识)