Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Attempt to do an insertion back merge. Only check for the case where* we can append 'rq' to an existing request, so we can throw 'rq' away* afterwards.* Returns true if we merged, false otherwise

Proto:bool elv_attempt_insert_merge(struct request_queue *q, struct request *rq)

Type:bool

Parameter:

TypeParameterName
struct request_queue *q
struct request *rq
361  If blk_queue_nomerges(q) Then Return false
367  If last_merge && blk_attempt_req_merge(q, last_merge, rq) Then Return true
370  If blk_queue_noxmerges(q) Then Return false
373  ret = false
377  When 1 cycle
378  __rq = elv_rqhash_find(q, lk_rq_pos() : the current sector* blk_rq_bytes() : bytes left in the entire request* blk_rq_cur_bytes() : bytes left in the current segment* blk_rq_err_bytes() : bytes left till the next error boundary* blk_rq_sectors() : sectors left in the entire )
379  If Not __rq || Not blk_attempt_req_merge(q, __rq, rq) Then Break
383  ret = true
384  rq = __rq
387  Return ret
Caller
NameDescribe
blk_mq_sched_try_insert_merge