函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |