Function report | 
Source Code:block\blk-mq.c | 
Create Date:2022-07-28 17:10:47 | 
| Last Modify:2020-03-17 23:18:05 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:blk_mq_alloc_rqs
Proto:int blk_mq_alloc_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags, unsigned int hctx_idx, unsigned int depth)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| 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 | If node == NUMA_NO_NODE Then node = numa_node | 
| 2134 | this_order = max_order | 
| 2139 | When this_order && left < order_to_size(this_order - 1) cycle | 
| 2140 | this_order-- | 
| 2142 | Do | 
| 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. | 
| 2146 | If page Then Break | 
| 2148 | If Not this_order -- Then Break | 
| 2150 | If order_to_size(this_order) < rq_size Then Break | 
| 2152 | When 1 cycle | 
| 2157 | *@private: Mapping-private opaque data. * Usually used for buffer_heads if PagePrivate. * Used for swp_entry_t if PageSwapCache. * Indicates order in the buddy system if PageBuddy. = this_order | 
| 2160 | p = page_address(page) | 
| 2166 | entries_per_page = order_to_size(this_order) / rq_size | 
| 2182 | Return 0 | 
| 2184 | fail : | 
| 2185 | blk_mq_free_rqs(set, tags, hctx_idx) | 
| 2186 | Return -ENOMEM | 
| Name | Describe | 
|---|---|
| __blk_mq_alloc_rq_map | |
| blk_mq_tag_update_depth | |
| blk_mq_sched_alloc_tags | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |