函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bfq_allow_bio_merge

函数原型:static bool bfq_allow_bio_merge(struct request_queue *q, struct request *rq, struct bio *bio)

返回类型:bool

参数:

类型参数名称
struct request_queue *q
struct request *rq
struct bio *bio
2818  bfqd等于elevator_data
2819  is_sync等于Reads are always treated as synchronous, as are requests with the FUA or* PREFLUSH flag. Other operations may be marked as synchronous using the* REQ_SYNC flag.
2820  bfqq等于 bfqq associated with the task issuing current bio for merging
2825  如果is_sync且非rq_is_sync(rq)则返回:false
2832  如果非bfqq则返回:false
2839  new_bfqq等于Attempt to schedule a merge of bfqq with the currently in-service* queue or with a close queue among the scheduled queues
2840  如果new_bfqq
2848  bfq_merge_bfqqs(bfqd, * bic associated with the task issuing current bio for * merging. This and the next field are used as a support to * be able to perform the bic lookup, needed by bio-merge * functions, before the scheduler lock is taken, and thus * avoid taking the request, bfqq, new_bfqq)
2855  bfqq等于new_bfqq
2863  bfqq associated with the task issuing current bio for merging 等于bfqq
2866  返回:bfqq恒等于RQ_BFQQ(rq)