函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__blk_mq_complete_request

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

返回类型:void

参数:

类型参数名称
struct request *rq
562  ctx等于mq_ctx
563  q等于q
564  bool shared = false
567  WRITE_ONCE(state, MQ_RQ_COMPLETE)
577  如果nr_hw_queues恒等于1则
578  __blk_complete_request(rq)
579  返回
586  如果 op and common flags 按位与REQ_HIPRI或非test_bit(complete on same CPU-group , & * various queue flags, see QUEUE_* below)则
588  complete(rq)
589  返回
592  cpu等于get_cpu()
593  如果非test_bit(rce complete on same CPU , & * various queue flags, see QUEUE_* below)则shared等于cpus_share_cache(cpu, cpu)
596  如果cpu不等于cpu且非sharedcpu_online(cpu)则
597  func等于__blk_mq_complete_request_remote
598  info等于rq
599  flags等于0
600  smp_call_function_single_async(): Run an asynchronous function on a* specific CPU.*@cpu: The CPU to run on.*@csd: Pre-allocated and setup data structure* Like smp_call_function_single(), but the call is asynchonous and
601  否则
602  complete(rq)
604  put_cpu()
调用者
名称描述
blk_mq_complete_requestlk_mq_complete_request - end I/O on a request*@rq: the request being processed* Description:* Ends all I/O on a request. It does not handle partial completions.* The actual completion happens out-of-order, through a IPI handler.