函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bfq-iosched.c Create Date:2022-07-27 19:32:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Task holds one reference to the queue, dropped when task exits. Each rq* in-flight on this queue also holds a reference, dropped when rq is freed.* Scheduler lock must be held here. Recall not to use bfqq after calling* this function on it.

函数原型:void bfq_put_queue(struct bfq_queue *bfqq)

返回类型:void

参数:

类型参数名称
struct bfq_queue *bfqq
4829  bfqg等于bfqq_group(bfqq)
4831  如果parent bfq_data bfq_log_bfqq(parent bfq_data , bfqq, "put_queue: %p %d", bfqq, ce counter )
4835  ce counter 自减
4836  如果ce counter 则返回
4839  如果非hlist_unhashed( & de for the device's burst list )则
4840  hlist_del_init( & de for the device's burst list )
4867  如果Pointer to the bfq_io_cq owning the bfq_queue, set to %NULL* if the queue is shared. number of queues in the current burst of queue activations 大于0则 number of queues in the current burst of queue activations 自减
4887  如果非hlist_unhashed( & de for woken_list, see below )则hlist_del_init( & de for woken_list, see below )
4893  Pointer to the waker queue for this queue, i.e., to the* queue Q such that this queue happens to get new I/O right* after some I/O request of Q is completed. For details, see* the comments on the choice of the queue for injection in* bfq_select_queue(). = NULL
4894  bfq_clear_bfqq_has_waker(item)
4895  hlist_del_init( & de for woken_list, see below )
4898  如果parent bfq_data bfqq owning the last completed rq 恒等于bfqq bfqq owning the last completed rq = NULL
4901  kmem_cache_free(bfq_pool, bfqq)
4902  bfqg_and_blkg_put(bfqg)
调用者
名称描述
__bfq_weights_tree_removeDecrement the weight counter associated with the queue, and, if the* counter reaches 0, remove the counter from the tree.* See the comments to the function bfq_weights_tree_add() for considerations* about overhead.
bfq_release_process_ref
bfq_put_cooperator
__bfq_insert_requestrns true if it causes the idle timer to be disabled
bfq_finish_requeue_request_body
bfq_get_bfqq_handle_split
__bfq_put_async_bfqq
bfq_forget_entityq_forget_entity - do not consider entity any longer for scheduling*@st: the service tree.*@entity: the entity being removed.*@is_in_service: true if entity is currently the in-service entity.* Forget everything about @entity
__bfq_bfqd_reset_in_servicerns true if the in-service queue gets freed