函数逻辑报告 |
Source Code:block\blk-mq.c |
Create Date:2022-07-27 18:46:09 |
Last Modify:2020-03-17 23:18:05 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:blk_mq_alloc_rqs
函数原型:int blk_mq_alloc_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags, unsigned int hctx_idx, unsigned int depth)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct blk_mq_tag_set * | set | |
struct blk_mq_tags * | tags | |
unsigned int | hctx_idx | |
unsigned int | depth |
2115 | max_order等于4 |
2119 | node等于CPU -> queue mappings |
2120 | 如果node恒等于NUMA_NO_NODE则node等于numa_node |
2123 | 初始化链表头 |
2134 | this_order等于max_order |
2139 | 当this_order且left小于order_to_size(this_order - 1)循环 |
2140 | this_order自减 |
2142 | 循环 |
2143 | page等于Allocate pages, preferring the node given as nid. When nid == NUMA_NO_NODE,* prefer the current CPU's closest node. Otherwise node must be valid and* online. |
2148 | 如果非this_order自减则退出 |
2150 | 如果order_to_size(this_order)小于rq_size则退出 |
2152 | 当1循环 |
2157 | 私有数据指针等于this_order |
2158 | 添加链表项 |
2160 | p等于page_address(page) |
2167 | to_do等于两数取小(entries_per_page, depth - i) |
2182 | 返回:0 |
2184 | fail : |
2185 | blk_mq_free_rqs(set, tags, hctx_idx) |
2186 | 返回:负ENOMEM |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |