函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:blk_mq_try_issue_directly

函数原型:static void blk_mq_try_issue_directly(struct blk_mq_hw_ctx *hctx, struct request *rq, blk_qc_t *cookie)

返回类型:void

参数:

类型参数名称
struct blk_mq_hw_ctx *hctx
struct request *rq
blk_qc_t *cookie
1837  might_sleep_if(@flags: BLK_MQ_F_* flags. Defines the behaviour of the queue. & BLK_MQ_F_BLOCKING)
1839  hctx_lock(hctx, & srcu_idx)
1841  ret等于__blk_mq_try_issue_directly(hctx, rq, cookie, TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., true)
1842  如果ret恒等于BLK_STS_RESOURCEret恒等于BLK_STS_DEV_RESOURCE is returned from the driver to the block layer if* device related resources are unavailable, but the driver can guarantee* that the queue will be rerun in the future once resources become* available againShould only be used carefully, when the caller knows we want to* bypass a potential IO scheduler on the target device.
1844  否则如果ret不等于BLK_STS_OKblk_mq_end_request(rq, ret)
1847  hctx_unlock(hctx, srcu_idx)
调用者
名称描述
blk_mq_make_request