函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:tg_dispatch_one_bio

函数原型:static void tg_dispatch_one_bio(struct throtl_grp *tg, bool rw)

返回类型:void

参数:

类型参数名称
struct throtl_grp *tg
boolrw
1134  sq等于 this group's service queue
1135  parent_sq等于 the parent service_queue
1136  parent_tg等于sq_to_tg - return the throl_grp the specified service queue belongs to*@sq: the throtl_service_queue of interest* Return the throtl_grp @sq belongs to. If @sq is the top-level one* embedded in throtl_data, %NULL is returned.
1137  struct throtl_grp * tg_to_put = NULL
1146  bio等于hrotl_pop_queued - pop the first bio form a qnode list*@queued: the qnode list to pop a bio from*@tg_to_put: optional out argument for throtl_grp to put* Pop the first bio from the qnode list @queued
1147  number of queued bios [rw]自减
1149  throtl_charge_bio(tg, bio)
1158  如果parent_tg
1159  hrotl_add_bio_tg - add a bio to the specified throtl_grp*@bio: bio to add*@qn: qnode to use*@tg: the target throtl_grp* Add @bio to @tg's service_queue using @qn. If @qn is not specified,
1160  start_parent_slice_with_credit(tg, parent_tg, rw)
1161  否则
1162  hrotl_qnode_add_bio - add a bio to a throtl_qnode and activate it*@bio: bio being added*@qn: qnode to add bio to*@queued: the service_queue->queued[] list @qn belongs to* Add @bio to @qn and put @qn on @queued if it's not already on.
1164  BUG_ON(nr_queued[rw] <= 0)
1165  nr_queued[rw]自减
1168  Trim the used slices and adjust slice start accordingly
1170  如果tg_to_putlkg_put - put a blkg reference*@blkg: blkg to put
调用者
名称描述
throtl_dispatch_tg
tg_drain_biosDispatch all bios from all children tg's queued on @parent_sq. On* return, @parent_sq is guaranteed to not have any active children tg's* and all bios from previously active tg's are on @parent_sq->bio_lists[].