函数逻辑报告 |
Source Code:fs\io-wq.c |
Create Date:2022-07-29 10:55:41 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:io_wqe_enqueue
函数原型:static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct io_wqe * | wqe | |
| struct io_wq_work * | work |
| 738 | acct等于io_work_get_acct(wqe, work) |
| 747 | 如果此条件成立可能性小(为编译器优化)(!io_wq_can_queue(wqe, acct, work))则 |
| 753 | spin_lock_irqsave( & lock, flags) |
| 754 | wq_list_add_tail( & list, & work_list) |
| 755 | flags与等于IO_WQE_FLAG_STALLED的反 |
| 756 | spin_unlock_irqrestore( & lock, flags) |
| 758 | 如果非atomic_read( & nr_running)则We need a worker. If we find a free one, we're good. If not, and we're* below the max number of workers, wake up the manager to create one. |
| 名称 | 描述 |
|---|---|
| io_wq_enqueue | |
| io_wq_enqueue_hashed | Enqueue work, hashed by some key. Work items that hash to the same value* will not be done in parallel. Used to limit concurrent writes, generally* hashed by inode. |
| io_wq_flush | Doesn't wait for previously queued work to finish. When this completes,* it just means that previously queued work was started. |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |