Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:__bfq_dispatch_request

Proto:static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx)

Type:struct request

Parameter:

TypeParameterName
struct blk_mq_hw_ctx *hctx
4655  bfqd = elevator_data
4656  struct request * rq = NULL
4657  struct bfq_queue * bfqq = NULL
4659  If Not list_empty - tests whether a list is empty*@head: the list to test. Then
4660  rq = list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & dispatch queue , structrequest, queuelist)
4662  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
4664  bfqq = RQ_BFQQ(rq)
4666  If bfqq Then
4675  Go to inc_in_driver_start_rq
4701  Go to start_rq
4704  bfq_log(bfqd, "dispatch requests: %d busy queues", bfq_tot_busy_queues(bfqd))
4707  If bfq_tot_busy_queues(bfqd) == 0 Then Go to exit
4722  If * 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. && number of requests dispatched and waiting for completion > 0 Then Go to exit
4725  bfqq = Select 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.
4726  If Not bfqq Then Go to exit
4729  rq = Dispatch next request from bfqq.
4731  If rq Then
4732  inc_in_driver_start_rq :
4733  number of requests dispatched and waiting for completion ++
4734  start_rq :
4735  rq_flags |= drive already may have started this one
4737  exit :
4738  Return rq
Caller
NameDescribe
bfq_dispatch_request