Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:blkcg_iolatency_done_bio

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

Type:void

Parameter:

TypeParameterName
struct rq_qos *rqos
struct bio *bio
594  now = Convert ktime_t to nanoseconds
595  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
596  bool enabled = false
597  inflight = 0
599  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.
600  If Not blkg || Not bio_flagged(bio, BIO_TRACKED) Then Return
603  iolat = blkg_to_lat(* 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.)
604  If Not iolat Then Return
607  enabled = blk_iolatency_enabled(blkiolat)
608  If Not enabled Then Return
611  When blkg && all non-root blkcg_gq's are guaranteed to have access to parent cycle
612  iolat = blkg_to_lat(blkg)
613  If Not iolat Then
615  Continue
617  rqw = rq_wait
619  inflight = atomic_dec_return( & inflight)
620  WARN_ON_ONCE(inflight < 0)
625  If min_lat_nsec && bi_status != BLK_STS_AGAIN Then
629  If now > window_start && now - window_start >= cur_win_nsec Then
636  wake_up( & wait)
637  blkg = all non-root blkcg_gq's are guaranteed to have access to parent