Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:Only SCSI implements .get_budget and .put_budget, and SCSI restarts* its queue by itself in its completion handler, so we don't need to* restart queue if .get_budget() returns BLK_STS_NO_RESOURCE.

Proto:static void blk_mq_do_dispatch_ctx(struct blk_mq_hw_ctx *hctx)

Type:void

Parameter:

TypeParameterName
struct blk_mq_hw_ctx *hctx
136  q = @queue: Pointer to the request queue that owns this hardware context.
137  LIST_HEAD(rq_list)
138  ctx = READ_ONCE(@dispatch_from: Software queue to be used when no scheduler was* selected.)
140  Do
143  If Not sbitmap_any_bit_set( & @ctx_map: Bitmap for each software queue. If bit is on, there is a* pending request in that software queue.) Then Break
146  If Not blk_mq_get_dispatch_budget(hctx) Then Break
149  rq = blk_mq_dequeue_from_ctx(hctx, ctx)
150  If Not rq Then
152  Break
160  list_add - add a new entry*@new: new entry to be added*@head: list head to add it after* Insert a new entry after the specified head.* This is good for implementing stacks.
163  ctx = blk_mq_next_ctx(hctx, mq_ctx)
165  When Returns true if we did some work AND can potentially do more. cycle
167  WRITE_ONCE(@dispatch_from: Software queue to be used when no scheduler was* selected., ctx)
Caller
NameDescribe
blk_mq_sched_dispatch_requests