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