Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Update weight and priority of entity

Proto:struct bfq_service_tree *__bfq_entity_update_weight_prio(struct bfq_service_tree *old_st, struct bfq_entity *entity, bool update_class_too)

Type:struct bfq_service_tree

Parameter:

TypeParameterName
struct bfq_service_tree *old_st
struct bfq_entity *entity
boolupdate_class_too
733  new_st = old_st
735  If flag, set to request a weight, ioprio or ioprio_class change Then
736  bfqq = bfq_entity_to_bfqq(entity)
738  struct bfq_data * bfqd = NULL
745  If bfqq Then bfqd = parent bfq_data
756  smp_rmb()
757  scheduler weight sum; active and idle entities contribute to it -= weight of the queue
775  If bfqq && update_class_too Then current ioprio and ioprio class = xt ioprio and ioprio class if a change is in progress
782  If Not bfqq || current ioprio and ioprio class == xt ioprio and ioprio class if a change is in progress Then flag, set to request a weight, ioprio or ioprio_class change = 0
792  new_st = bfq_entity_service_tree(entity)
794  prev_weight = weight of the queue
795  new_weight = original weight, used to implement weight boosting * If bfqq Then actor by which the weight of this queue is multiplied Else 1
802  If prev_weight != new_weight && bfqq Then
806  weight of the queue = new_weight
816  scheduler weight sum; active and idle entities contribute to it += weight of the queue
818  If new_st != old_st Then B-WF2Q+ start and finish timestamps [sectors/weight] = scheduler virtual time
822  Return new_st
Caller
NameDescribe
bfq_update_fin_time_enqueue
bfq_update_wr_data