函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:blkcg_iolatency_done_bio

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

返回类型:void

参数:

类型参数名称
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  如果非blkg或非bio_flagged(bio, BIO_TRACKED)则返回
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  如果非iolat则返回
607  enabled等于blk_iolatency_enabled(blkiolat)
608  如果非enabled则返回
611 blkg all non-root blkcg_gq's are guaranteed to have access to parent 循环
612  iolat等于blkg_to_lat(blkg)
613  如果非iolat
615  继续下一循环
617  rqw等于rq_wait
619  inflight等于atomic_dec_return( & inflight)
620  WARN_ON_ONCE(inflight < 0)
625  如果min_lat_nsecbi_status不等于BLK_STS_AGAIN
629  如果now大于window_startnowwindow_start大于等于cur_win_nsec
636  wake_up( & wait)
637  blkg等于 all non-root blkcg_gq's are guaranteed to have access to parent