Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-iolatency.c Create Date:2022-07-28 17:45:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:blkcg_iolatency_throttle

Proto:static void blkcg_iolatency_throttle(struct rq_qos *rqos, struct bio *bio)

Type:void

Parameter:

TypeParameterName
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  If Not blk_iolatency_enabled(blkiolat) Then Return
469  When blkg && all non-root blkcg_gq's are guaranteed to have access to parent cycle
470  iolat = blkg_to_lat(blkg)
471  If Not iolat Then
473  Continue
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  If Not 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, eg Then mod_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,