io_uring 文档索引
Linux 6.1(RK3588)内核 io_uring 子系统源码分析与原理说明。
总览文档
| 文档 | 说明 |
|---|---|
| io_uring异步IO机制与原理详解.md | 总览:环模型、syscall、模块划分、RK3588 |
| 源码目录与模块索引.md | io_uring/ 文件清单、Makefile 映射 |
功能组专题(原理 + 实现)
| 编号 | 文档 | 源码重点 |
|---|---|---|
| 01 | 核心接口与环机制与实现详解.md | io_uring_setup/enter/register、io_ring_ctx |
| 02 | 提交与完成路径机制与实现详解.md | io_submit_sqes、io_issue_sqe、CQE、task_work |
| 03 | 操作码与opdef分派机制与实现详解.md | opdef.c、rw/fs/net 等 |
| 04 | 异步执行与SQPOLL机制与实现详解.md | io-wq.c、sqpoll.c、tctx.c |
| 05 | 轮询超时与取消机制与实现详解.md | poll.c、timeout.c、cancel.c、epoll.c |
| 06 | 资源注册与URING_CMD机制与实现详解.md | rsrc.c、kbuf.c、uring_cmd.c、filetable.c |
| 07 | RK3588平台关联与使用场景详解.md | 配置、性能、块/网络/编解码场景 |
源码路径
1 | rk3588/kernel-6.1/io_uring/ |
阅读顺序建议
速查
| 机制 | 关键入口 |
|---|---|
| 创建环 | io_uring_setup → io_uring_create |
| 提交/收割 | io_uring_enter → io_submit_sqes / io_cqring_wait |
| 注册资源 | io_uring_register → __io_uring_register |
| 执行 SQE | io_issue_sqe → io_op_defs[opcode].issue |
| 阻塞异步 | io_queue_iowq → io-wq worker |
| 内核轮询 SQ | IORING_SETUP_SQPOLL + sqpoll.c |
| 驱动私有命令 | IORING_OP_URING_CMD + io_uring_cmd_done |
关联文档
- 块层多队列(与 IOPOLL/URING_CMD):
drivers/block、NVMe 驱动 - 内存锁定:
linuxDoc/mm(RLIMIT_MEMLOCK、固定缓冲区注册) - 网络栈:
net.c与CONFIG_NET
正在加载留言…