函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:blkcg_iolatency_throttle

函数原型:static void blkcg_iolatency_throttle(struct rq_qos *rqos, struct bio *bio)

返回类型:void

参数:

类型参数名称
struct rq_qos *rqos
struct bio *bio
462  blkiolat等于BLKIOLATENCY(rqos)
463  blkg等于* Represents the association of the css and request_queue for the bio. * If a bio goes direct to device, it will not have a blkg as it will * not have a request_queue associated with it. The reference is put * on release of the bio.
464  issue_as_root等于_issue_as_root_blkg - see if this bio needs to be issued as root blkg*@return: true if this bio needs to be submitted with the root blkg context
466  如果非blk_iolatency_enabled(blkiolat)则返回
469 blkg all non-root blkcg_gq's are guaranteed to have access to parent 循环
470  iolat等于blkg_to_lat(blkg)
471  如果非iolat
473  继续下一循环
476  Check our parent and see if the scale cookie has changed.
477  __blkcg_iolatency_throttle(rqos, iolat, issue_as_root, ( bottom bits req flags, * top bits REQ_OP. Use * accessors. & REQ_SWAP) == REQ_SWAP)
479  blkg等于 all non-root blkcg_gq's are guaranteed to have access to parent
481  如果非mer_pending - is a timer pending?*@timer: the timer in question* timer_pending will tell whether a given timer is currently pending,* or not. Callers must ensure serialization wrt. other operations done* to this timer, egmod_timer - modify a timer's timeout*@timer: the timer to be modified*@expires: new timeout in jiffies* mod_timer() is a more efficient way to update the expire field of an* active timer (if the timer is inactive it will be activated)* mod_timer(timer,