Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\bfq-iosched.c Create Date:2022-07-28 17:56:53
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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.

Proto:void bfq_put_queue(struct bfq_queue *bfqq)

Type:void

Parameter:

TypeParameterName
struct bfq_queue *bfqq
4829  bfqg = bfqq_group(bfqq)
4831  If parent bfq_data Then bfq_log_bfqq(parent bfq_data , bfqq, "put_queue: %p %d", bfqq, ce counter )
4835  ce counter --
4836  If ce counter Then Return
4839  If Not hlist_unhashed( & de for the device's burst list ) Then
4840  hlist_del_init( & de for the device's burst list )
4867  If 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 Then number of queues in the current burst of queue activations --
4887  If Not hlist_unhashed( & de for woken_list, see below ) Then 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  If parent bfq_data && bfqq owning the last completed rq == bfqq Then bfqq owning the last completed rq = NULL
4901  kmem_cache_free(bfq_pool, bfqq)
4902  bfqg_and_blkg_put(bfqg)
Caller
NameDescribe
__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