函数逻辑报告 | 
Source Code:block\blk-mq.c | 
Create Date:2022-07-27 18:47:01 | 
| Last Modify:2020-03-17 23:18:05 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:blk_mq_init_allocated_queue
函数原型:struct request_queue *blk_mq_init_allocated_queue(struct blk_mq_tag_set *set, struct request_queue *q, bool elevator_init)
返回类型:struct request_queue
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct blk_mq_tag_set * | set | |
| struct request_queue * | q | |
| bool | elevator_init | 
| 2842 | sysfs helpers | 
| 2844 | 初始化链表头 | 
| 2845 | spin_lock_init( & unused_hctx_lock) | 
| 2847 | blk_mq_realloc_hw_ctxs(set, q) | 
| 2848 | 如果非nr_hw_queues则转到:err_hctxs | 
| 2851 | INIT_WORK( & timeout_work, blk_mq_timeout_work) | 
| 2852 | blk_queue_rq_timeout(q, timeout ? timeout : 30 * HZ) | 
| 2857 | 如果nr_maps大于HCTX_TYPE_POLL且nr_queues则lk_queue_flag_set - atomically set a queue flag*@flag: flag to be set*@q: request queue | 
| 2861 | sg_reserved_size等于INT_MAX | 
| 2863 | INIT_DELAYED_WORK( & requeue_work, blk_mq_requeue_work) | 
| 2864 | 初始化链表头 | 
| 2865 | spin_lock_init( & requeue_lock) | 
| 2872 | Max # of requests 等于queue_depth | 
| 2879 | blk_mq_init_cpu_queues(q, nr_hw_queues) | 
| 2880 | blk_mq_add_queue_tag_set(set, q) | 
| 2881 | blk_mq_map_swqueue(q) | 
| 2886 | 返回:q | 
| 2888 | err_hctxs : | 
| 2889 | 释放内存 | 
| 2890 | nr_hw_queues等于0 | 
| 2891 | blk_mq_sysfs_deinit(q) | 
| 2892 | err_poll : | 
| 2894 | poll_cb = NULL | 
| 2895 | err_exit : | 
| 2896 | mq_ops = NULL | 
| 2897 | 返回:错误号 | 
| 名称 | 描述 | 
|---|---|
| blk_mq_init_queue | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |