函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:bfq_bio_merge

函数原型:static bool bfq_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio, unsigned int nr_segs)

返回类型:bool

参数:

类型参数名称
struct blk_mq_hw_ctx *hctx
struct bio *bio
unsigned intnr_segs
2216  q等于@queue: Pointer to the request queue that owns this hardware context.
2217  bfqd等于elevator_data
2218  struct request * free = NULL
2226  bic等于q_bic_lookup - search into @ioc a bic associated to @bfqd.*@bfqd: the lookup key.*@ioc: the io_context of the process doing I/O.*@q: the request queue.
2229  spin_lock_irq( & lock)
2231  如果bic bfqq associated with the task issuing current bio for merging 等于bic_to_bfqq(bic, 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.)
2233  否则 bfqq associated with the task issuing current bio for merging = NULL
2235  * 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等于bic
2237  ret等于blk_mq_sched_try_merge(q, bio, nr_segs, & free)
2239  如果freeblk_mq_free_request(free)
2241  spin_unlock_irq( & lock)
2243  返回:ret