函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Update @iocg's `active` and `inuse` to @active and @inuse, update level* weight sums and propagate upwards accordingly.

函数原型:static void __propagate_active_weight(struct ioc_gq *iocg, unsigned int active, unsigned int inuse)

返回类型:void

参数:

类型参数名称
struct ioc_gq *iocg
unsigned intactive
unsigned intinuse
896  ioc等于ioc
899  lockdep_assert_held( & lock)
901  inuse等于两数取小(active, inuse)
903 lvl大于等于0循环
904  parent等于ancestors[lvl]
905  child等于ancestors[lvl + 1]
906  parent_active等于0, parent_inuse等于0
909  see __propagate_active_weight() and current_hweight() for details 加等于activeactive
910  child_inuse_sum加等于inuseinuse
912  active等于active
913  inuse等于inuse
921  parent_active等于weight
928  如果parent_active恒等于activeparent_inuse恒等于inuse退出
932  active等于parent_active
933  inuse等于parent_inuse
936  weights_updated = true
调用者
名称描述
propagate_active_weight
ioc_timer_fn