函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:throtl_can_upgrade

函数原型:static bool throtl_can_upgrade(struct throtl_data *td, struct throtl_grp *this_tg)

返回类型:bool

参数:

类型参数名称
struct throtl_data *td
struct throtl_grp *this_tg
1893  如果limit_index不等于LIMIT_LOW则返回:false
1896  如果time_before(jiffies, low_downgrade_time + throtl_slice)则返回:false
1899  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
1900  lkg_for_each_descendant_post - post-order walk of a blkg's descendants*@d_blkg: loop cursor pointing to the current descendant*@pos_css: used for iteration*@p_blkg: target blkg to walk descendants of* Similar to blkg_for_each_descendant_pre() but performs (blkg, pos_css, root_blkg)
1901  tg等于blkg_to_tg(blkg)
1903  如果tg恒等于this_tg则继续下一循环
1905  如果非链表为空则继续下一循环
1907  如果非throtl_hierarchy_can_upgrade(tg)则
1909  返回:false
1912  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
1913  返回:true
调用者
名称描述
throtl_pending_timer_fn
throtl_upgrade_check
blk_throtl_bio