Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Dispatch next request from bfqq.

Proto:static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq)

Type:struct request

Parameter:

TypeParameterName
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  If 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. Then
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  If bfqq != bfq_queue in service Then Go to return_rq
4625  bfq_update_wr_data(bfqd, bfqq)
4632  If Not ( bfq_tot_busy_queues(bfqd) > 1 && bfq_class_idle(bfqq)) Then Go to 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  Return rq
Caller
NameDescribe
__bfq_dispatch_request