函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__blk_mq_try_issue_directly

函数原型:static blk_status_t __blk_mq_try_issue_directly(struct blk_mq_hw_ctx *hctx, struct request *rq, blk_qc_t *cookie, bool bypass_insert, bool last)

返回类型:blk_status_t

参数:

类型参数名称
struct blk_mq_hw_ctx *hctx
struct request *rq
blk_qc_t *cookie
boolbypass_insert
boollast
1795  q等于q
1796  bool run_queue = true
1805  如果blk_mq_hctx_stopped(hctx)或blk_queue_quiesced(q)则
1806  run_queue = false
1807  bypass_insert = false
1808  转到:insert
1811  如果elevator且非bypass_insert则转到:insert
1814  如果非blk_mq_get_dispatch_budget(hctx)则转到:insert
1817  如果非blk_mq_get_driver_tag(rq)则
1818  blk_mq_put_dispatch_budget(hctx)
1819  转到:insert
1822  返回:__blk_mq_issue_directly(hctx, rq, cookie, last)
1823  insert :
1824  如果bypass_insert则返回:BLK_STS_RESOURCE
1827  Should only be used carefully, when the caller knows we want to* bypass a potential IO scheduler on the target device.
1828  返回:BLK_STS_OK
调用者
名称描述
blk_mq_try_issue_directly
blk_mq_request_issue_directly