函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\blk-cgroup.h Create Date:2022-07-27 06:56:17
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:blkcg_bio_issue_check

函数原型:static inline bool blkcg_bio_issue_check(struct request_queue *q, struct bio *bio)

返回类型:bool

参数:

类型参数名称
struct request_queue *q
struct bio *bio
586  bool throtl = false
588  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
590  如果非* 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.
593  WARN_ONCE(1, "no blkg associated for bio on block-device: %s\n", bio_devname(bio, b))
596  _associate_blkg - associate a bio with a blkg*@bio: target bio* Associate @bio with the blkg found from the bio's css and request_queue
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.
601  throtl等于blk_throtl_bio(q, blkg, bio)
603  如果非throtl
607  如果op_is_discard( bottom bits req flags, * top bits REQ_OP. Use * accessors.)则rwd等于BLKG_IOSTAT_DISCARD
609  否则如果op_is_write( bottom bits req flags, * top bits REQ_OP. Use * accessors.)则rwd等于BLKG_IOSTAT_WRITE
611  否则rwd等于BLKG_IOSTAT_READ
614  cpu等于get_cpu()
615  bis等于per_cpu_ptr(iostat_cpu, cpu)
616  u64_stats_update_begin( & sync)
623  如果非bio_flagged(bio, BIO_QUEUE_ENTERED)则bytes[rwd]加等于 residual I/O count
625  ios[rwd]自加
627  u64_stats_update_end( & sync)
628  如果cgroup_subsys_on_dfl - fast test on whether a subsys is on default hierarchy*@ss: subsystem in question(io_cgrp_subsys)则group_rstat_updated - keep track of updated rstat_cpu*@cgrp: target cgroup*@cpu: cpu on which rstat_cpu was updated*@cgrp's rstat_cpu on @cpu was updated. Put it on the parent's matching* rstat_cpu->updated_children list. See the comment on top of
630  put_cpu()
633  blkcg_bio_issue_init(bio)
635  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
636  返回:非throtl
调用者
名称描述
generic_make_request_checks