395 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

io_uring特性支持

已完成
需求
创建于  
2020-06-28 13:53

是否会backport内核5.x版本新增加的io_uring特性?

https://bugzilla.openeuler.org/show_bug.cgi?id=27

评论 (9)

suuyaoo 创建了任务
suuyaoo 关联仓库设置为openEuler/kernel
展开全部操作日志

Hey @suuyaoo, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.

你好,能否描述下 io_uring 的应用场景,或者带来的价值,以便评估是否需要回合到 openEuler。

主要应用场景是在分布式存储系统的存储引擎,解决原有aio实现和使用上的诸多限制,另外io_uring支持poolling模式,能够充分发挥nvme设备的性能,从而提升存储系统整体的性能表现,目前很多的存储系统都引入了对io_uring后端的支持,像ceph中bluestore引擎已经合并了io_uring的支持:https://github.com/ceph/ceph/pull/27392

openeuler-ci-bot 负责人设置为weiyj
yanzh_h 任务类型任务 修改为需求
yanzh_h 任务状态待办的 修改为新建

主要应用场景是在分布式存储系统的存储引擎,解决原有aio实现和使用上的诸多限制,另外io_uring支持poolling模式,能够充分发挥nvme设备的性能,从而提升存储系统整体的性能表现,目前很多的存储系统都引入了对io_uring后端的支持,像ceph中bluestore引擎已经合并了io_uring的支持:https://github.com/ceph/ceph/pull/27392

@suuyaoo

预计在 21.03 回合 io_uring。

Xie XiuQi 添加了
 
kind/feature
标签
Xie XiuQi 任务状态新建 修改为已接纳
Xie XiuQi 任务状态已接纳 修改为开发中

@suuyaoo

  • [] openEuler-20.04(4.19) 已经合入 IO_URING
  • [] openEuler-21.03(5.10) 同样支持 IO_URING

跟踪 ISSUE #I3NZPG:[openEuler-20.03] IO_URING 特性

@suuyaoo 此 ISSUE 先关闭处理。

如有疑问,请联系 @成坚 (CHENG Jian) gatieme,谢谢。

成坚 (CHENG Jian) 任务状态开发中 修改为已完成

当前已合入的特性有:

  1. registering buffers,减少用户态内核态之间的内存拷贝,提升性能
  2. register files,减少内核态对于file结构体的get和put,提升性能
  3. SQPOLL特性,内核主动poll用户态准备的请求,减少系统调用,提升性能
  4. drain sqe/linked sqe,提供io之间互相依赖的关系,drain io类似于barrier,必须等之前所有的IO完成后再下发后面的IO;linked sqe,linked sqe组成的link,严格按照该顺序进行完成

当前未支持的特性:

  1. polling io,由于block层尚未支持iopoll功能,所以无法实现
  2. 通过page的async lock实现的async buffer io,由于kabi无法规避,因此该可能也暂未合入

影响分析

  1. 对于第一点,polling io如果不支持的话,用户态无法使能polling io功能,即io_uring_setup的时候,无法使能IORING_SETUP_IOPOLL特性,其他无影响。

  2. 对于第二点,该特性属于io_uring内部逻辑,外部用户态不感知。

成坚 (CHENG Jian) 修改了描述

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(4)
5329419 openeuler ci bot 1632792936
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助