| Function report | 
| Source Code: block\blk-cgroup.c | Create Date:2022-07-28 17:39:27 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:If @new_blkg is %NULL, this function tries to allocate a new one as* necessary using %GFP_NOWAIT. @new_blkg is always consumed on return.
Proto:static struct blkcg_gq *blkg_create(struct blkcg *blkcg, struct request_queue *q, struct blkcg_gq *new_blkg)
Type:struct blkcg_gq
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct blkcg * | blkcg | |
| struct request_queue * | q | |
| struct blkcg_gq * | new_blkg | 
| 233 | WARN_ON_ONCE(!_read_lock_held() - might we be in RCU read-side critical section?* If CONFIG_DEBUG_LOCK_ALLOC is selected, returns nonzero iff in an RCU* read-side critical section) | 
| 234 | lockdep_assert_held( & queue_lock) | 
| 237 | If blk_queue_dying(q) Then | 
| 239 | Go to err_free_blkg | 
| 245 | Go to err_free_blkg | 
| 251 | If Not wb_congested Then | 
| 253 | Go to err_put_css | 
| 257 | If Not new_blkg Then | 
| 261 | Go to err_put_congested | 
| 265 | * Each blkg gets congested separately and the congestion state is * propagated to the matching bdi_writeback_congested. = wb_congested | 
| 272 | Go to err_put_congested | 
| 279 | pol = blkcg_policy[i] | 
| 281 | If pd[i] && pd_init_fn Then pd_init_fn(pd[i]) | 
| 287 | ret = __radix_tree_insert - insert into a radix tree*@root: radix tree root*@index: index key*@item: item to insert* Insert an item into the radix tree at position @index. | 
| 288 | If Value is more likely to compile time(!ret) Then | 
| 293 | pol = blkcg_policy[i] | 
| 295 | If pd[i] && pd_online_fn Then pd_online_fn(pd[i]) | 
| 300 | spin_unlock( & lock) | 
| 309 | err_put_congested : | 
| 311 | err_put_css : | 
| 313 | err_free_blkg : | 
| Name | Describe | 
|---|---|
| __blkg_lookup_create | __blkg_lookup_create - lookup blkg, try to create one if not there*@blkcg: blkcg of interest*@q: request_queue of interest* Lookup blkg for the @blkcg - @q pair. If it doesn't exist, try to* create one | 
| blkg_conf_prep | lkg_conf_prep - parse and prepare for per-blkg config update*@blkcg: target block cgroup*@pol: target policy*@input: input string*@ctx: blkg_conf_ctx to be filled* Parse per-blkg config update from @input and initialize @ctx with the* result | 
| blkcg_init_queue | lkcg_init_queue - initialize blkcg part of request queue*@q: request_queue to initialize* Called from blk_alloc_queue_node(). Responsible for initializing blkcg* part of new request_queue @q.* RETURNS:* 0 on success, -errno on failure. | 
| 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 |