Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:bfq_allow_bio_merge

Proto:static bool bfq_allow_bio_merge(struct request_queue *q, struct request *rq, struct bio *bio)

Type:bool

Parameter:

TypeParameterName
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  If is_sync && Not rq_is_sync(rq) Then Return false
2832  If Not bfqq Then Return 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  If new_bfqq Then
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  Return bfqq == RQ_BFQQ(rq)