函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Dispatch next request from bfqq.

函数原型:static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq)

返回类型:struct request

参数:

类型参数名称
struct bfq_data *bfqd
struct bfq_queue *bfqq
4597  rq等于 fifo isn't expired, next request to serve
4600  service_to_charge等于see the definition of bfq_async_charge_factor for details
4602  bfq_bfqq_served(bfqq, service_to_charge)
4604  如果bfqq恒等于 bfq_queue in service * Flag set to activate the sampling of the total service time * of a just-arrived first I/O request (see * bfq_update_inject_limit()). This will cause the setting of * waited_rq when the request is finally dispatched.
4605  * Flag set to activate the sampling of the total service time * of a just-arrived first I/O request (see * bfq_update_inject_limit()). This will cause the setting of * waited_rq when the request is finally dispatched. = false
4606  * If set, then bfq_update_inject_limit() is invoked when * waited_rq is eventually completed.等于rq
4609  Remove request from internal lists.
4611  如果bfqq不等于 bfq_queue in service 则转到:return_rq
4625  bfq_update_wr_data(bfqd, bfqq)
4632  如果非bfq_tot_busy_queues(bfqd)大于1且bfq_class_idle(bfqq)的值则转到:return_rq
4635  q_bfqq_expire - expire a queue.*@bfqd: device owning the queue.*@bfqq: the queue to expire.*@compensate: if true, compensate for the time spent idling.*@reason: the reason causing the expiration.* If the process associated with bfqq does slow I/O (e
4637  return_rq :
4638  返回:rq
调用者
名称描述
__bfq_dispatch_request