函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-mq.c Create Date:2022-07-27 18:44:22
Last Modify:2020-03-17 23:18:05 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:blk_mq_start_request

函数原型:void blk_mq_start_request(struct request *rq)

返回类型:void

参数:

类型参数名称
struct request *rq
646  q等于q
648  lock_rq_issue - issue pending block IO request operation to device driver*@q: queue holding operation*@rq: block IO operation operation request* Called when block operation request @rq from queue @q is sent to a* device driver for processing.
650  如果test_bit(rack IO start and completion times , & * various queue flags, see QUEUE_* below)则
651  Time that I/O was submitted to the device. 等于ktime_get_ns()
652  * rq sectors used for blk stats. It has the same value * with blk_rq_sectors(rq), except that it never be zeroed * by completion.等于blk_rq_sectors(rq)
653  rq_flags或等于rack IO completion time
654  rq_qos_issue(q, rq)
657  WARN_ON_ONCE(lk_mq_rq_state() - read the current MQ_RQ_* state of a request*@rq: target request. != MQ_RQ_IDLE)
659  lk_add_timer - Start timeout timer for a single request*@req: request that is about to start running.* Notes:* Each request has its own timer, and as it is added to the queue, we* set up the timer. When the request completes, we cancel the timer.
660  WRITE_ONCE(state, MQ_RQ_IN_FLIGHT)
662  如果dma_drain_sizeblk_rq_bytes(rq)则
668  * Number of scatter-gather DMA addr+len pairs after * physical address coalescing is performed.自加
672  如果blk_integrity_rq(rq)且req_op(rq)恒等于REQ_OP_WRITEprepare_fn(rq)
调用者
名称描述
bsg_queue_rqsg_queue_rq - generic handler for bsg requests*@hctx: hardware queue*@bd: queue data* On error the create_bsg_job function should return a -Exyz error value* that will be set to ->result.* Drivers/subsys should pass this to the queue init function.