函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:For a queue that becomes empty, device idling is allowed only if* this function returns true for that queue

函数原型:static bool bfq_better_to_idle(struct bfq_queue *bfqq)

返回类型:bool

参数:

类型参数名称
struct bfq_queue *bfqq
4182  bfqd等于parent bfq_data
4186  如果此条件成立可能性小(为编译器优化)(!bfqq_process_refs(bfqq))则返回:false
4189  如果此条件成立可能性小(为编译器优化)(* Force device idling whenever needed to provide accurate * service guarantees, without caring about throughput * issues. CAVEAT: this may even increase latencies, in case * of useless idling for processes that did stop doing I/O.)则返回:true
4200  如果 maximum idling time 恒等于0或非bfq_bfqq_sync(bfqq)或bfq_class_idle(bfqq)则返回:false
4204  idling_boosts_thr_with_no_issue等于idling_boosts_thr_without_issues(bfqd, bfqq)
4207  idling_needed_for_service_guar等于There is a case where idling does not have to be performed for* throughput concerns, but to preserve the throughput share of* the process associated with bfqq
4216  返回:idling_boosts_thr_with_no_issueidling_needed_for_service_guar
调用者
名称描述
bfq_bfqq_must_idleIf the in-service queue is empty but the function bfq_better_to_idle* returns true, then:* 1) the queue must remain in service and cannot be expired, and* 2) the device must be idled to wait for the possible arrival of a new* request for the queue
bfq_select_queueSelect a queue for service. If we have a current queue in service,* check whether to continue servicing it, or retrieve and set a new one.
bfq_completed_request