函数逻辑报告 |
Source Code:fs\io_uring.c |
Create Date:2022-07-29 10:55:04 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:io_submit_sqes
函数原型:static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr, struct file *ring_file, int ring_fd, struct mm_struct **mm, bool async)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct io_ring_ctx * | ctx | |
| unsigned int | nr | |
| struct file * | ring_file | |
| int | ring_fd | |
| struct mm_struct ** | mm | |
| bool | async |
| 3782 | struct io_submit_state state, * statep = NULL |
| 3784 | submitted等于0 |
| 3785 | bool mm_fault = false |
| 3792 | 如果nr大于IO_PLUG_THRESHOLD则 |
| 3802 | req等于io_get_req(ctx, statep) |
| 3803 | 如果此条件成立可能性小(为编译器优化)(!req)则 |
| 3809 | __io_free_req(req) |
| 3810 | 退出 |
| 3813 | 如果io_req_needs_user(req)且非mm则 |
| 3814 | mm_fault等于mm_fault或非mmget_not_zero(sqo_mm) |
| 3815 | 如果非mm_fault则 |
| 3821 | submitted自加 |
| 3822 | sqe_flags等于IOSQE_ flags |
| 3828 | needs_fixed_file等于async |
| 3836 | 如果非sqe_flags按位与links next sqe 按位或like LINK, but stronger 的值的值且link则 |
| 3837 | io_queue_link_head(link) |
| 3838 | link = NULL |
| 3842 | 如果link则io_queue_link_head(link) |
| 3848 | io_commit_sqring(ctx) |
| 3850 | 返回:submitted |
| 名称 | 描述 |
|---|---|
| io_sq_thread | |
| SYSCALL_DEFINE6 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |