Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:blk_mq_sched_insert_request

Proto:void blk_mq_sched_insert_request(struct request *rq, bool at_head, bool run_queue, bool async)

Type:void

Parameter:

TypeParameterName
struct request *rq
boolat_head
boolrun_queue
boolasync
381  q = q
382  e = elevator
383  ctx = mq_ctx
384  hctx = mq_hctx
387  If Not (rq_flags & quest for flush sequence ) && Check if the bio or request is one that needs special treatment in the* flush state machine. Then
388  lk_insert_flush - insert a new PREFLUSH/FUA request*@rq: request to insert* To be called from __elv_add_request() for %ELEVATOR_INSERT_FLUSH insertions.* or __blk_mq_run_hw_queue() to dispatch request.*@rq is being submitted
389  Go to run
392  WARN_ON(e && (tag != - 1))
394  If blk_mq_sched_bypass_insert(hctx, !!e, rq) Then Go to run
397  If e && insert_requests Then
398  LIST_HEAD(list)
400  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.
401  insert_requests(hctx, & list, at_head)
402  Else
403  spin_lock( & lock)
404  __blk_mq_insert_request(hctx, rq, at_head)
405  spin_unlock( & lock)
408  run :
409  If run_queue Then blk_mq_run_hw_queue(hctx, async)
Caller
NameDescribe
blk_mq_requeue_work
blk_mq_make_request
blk_execute_rq_nowaitlk_execute_rq_nowait - insert a request into queue for execution*@q: queue to insert the request in*@bd_disk: matching gendisk*@rq: request to insert*@at_head: insert request at head or tail of queue*@done: I/O completion handler* Description:* Insert a