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 |