Linux 5.17内核将于明天发布,进而启动 Linux 5.18合并窗口。Linux 块子系统维护者 Jens Axboe 已经开始提交他的下一个内核的功能拉取请求,包括 IO_uring 更新。
IO_uring继续看到许多内核改进并将其功能扩展到网络等新领域。IO_uring 是近年来最令人兴奋的 Linux 内核创新之一,并继续看到用户空间对它的新使用。在 Linux 5.18 中,IO_uring 随着新功能和性能优化的不断成熟。
Linux 5.18 的一些 IO_uring 更改包括:
– 对提供的缓冲区的改进,包括性能改进和其他更改。提供的缓冲区处理通过回收缓存而不是在高频工作负载期间分配和释放缓冲区来加速锥体。这种加速将提供的缓冲区的开销降低了 5~10%,这几乎与未提供的缓冲区路径相匹配。另一个优化是通过使用散列列表而不是 XArray 以严格排序的方式管理提供的缓冲区,这反过来又将开销降低了约 2%。
– 支持注册的文件描述符。这是通过一个新的 io_uring_register API 实现的,该 API 允许自己注册 ring FD,而不是通过更昂贵的代码路径。新代码的测试已经为带有真实测试用例的线程应用程序带来了“性能上的一个不错的提升”——快了 11~15%。
– 支持套接字上的 NAPI,并且通过 napi_busy_poll 处理产生很好的(更低的)延迟改进。
– 避免响铃停顿的改进。
– 支持响铃消息 (IORING_OP_MSG_RING)。
– 投票改进。
– 对 io-wq 锁定的改进。
– 修复当前文件位置。
查看IO_uring 拉取请求查看适用于 Linux 5.18 的所有功能补丁。使用 IO_uring使 statx API 稳定还有一个辅助作用。
这种 IO_uring 乐趣是对 Linux 5.18 预期的许多其他功能的补充。合并窗口将在接下来的两周内发生,而 Linux 5.18 稳定版应该会在 5 月底左右发布。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun140320.html