函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:throtl_upgrade_state

函数原型:static void throtl_upgrade_state(struct throtl_data *td)

返回类型:void

参数:

类型参数名称
struct throtl_data *td
1941  hrotl_log - log debug message via blktrace*@sq: the service_queue being reported*@fmt: printf format string*@args: printf args* The messages are prefixed with "throtl BLKG_NAME" if @sq belongs to a* throtl_grp; otherwise, just "throtl".( & service tree for active throtl groups , "upgrade to max")
1942  limit_index等于LIMIT_MAX
1943  low_upgrade_time等于jiffies
1944  scale等于0
1945  _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
1946  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)
1947  tg等于blkg_to_tg(blkg)
1948  sq等于 this group's service queue
1950  * Dispatch time in jiffies. This is the estimated time when group * will unthrottle and is ready to dispatch more bio. It is used as * key to sort active groups in service tree.等于jiffies减1
1951  throtl_select_dispatch(sq)
1952  hrotl_schedule_next_dispatch - schedule the next dispatch cycle*@sq: the service_queue to schedule dispatch for*@force: force scheduling* Arm @sq->pending_timer so that the next dispatch cycle starts on the* dispatch time of the first pending child
1954  _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()
1955  throtl_select_dispatch( & service tree for active throtl groups )
1956  hrotl_schedule_next_dispatch - schedule the next dispatch cycle*@sq: the service_queue to schedule dispatch for*@force: force scheduling* Arm @sq->pending_timer so that the next dispatch cycle starts on the* dispatch time of the first pending child
1957  queue_work - queue work on a workqueue*@wq: workqueue to use*@work: work to queue* Returns %false if @work was already on a queue, %true otherwise.* We queue the work to the CPU on which it was submitted, but if the CPU dies
调用者
名称描述
throtl_pd_offline
throtl_pending_timer_fn
throtl_upgrade_check
blk_throtl_bio