Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:__blk_complete_request

Proto:void __blk_complete_request(struct request *req)

Type:void

Parameter:

TypeParameterName
struct request *req
96  q = q
97  ccpu = cpu
99  bool shared = false
101  BUG_ON(!complete)
103  local_irq_save(flags)
104  cpu = smp_processor_id()
109  If Determine whether a bit is set(complete on same CPU-group , & * various queue flags, see QUEUE_* below) && ccpu != -1 Then
110  If Not Determine whether a bit is set(rce complete on same CPU , & * various queue flags, see QUEUE_* below) Then shared = cpus_share_cache(cpu, ccpu)
112  Else ccpu = cpu
123  If ccpu == cpu || shared Then
125  do_local :
126  list = this_cpu_ptr( & blk_cpu_done)
127  list_add_tail - add a new entry*@new: new entry to be added*@head: list head to add it before* Insert a new entry before the specified head.* This is useful for implementing queues.
135  If next == ipi_list Then This function must run with irqs disabled!
137  Else if raise_blk_irq(ccpu, req) Then Go to do_local
140  local_irq_restore(flags)
Caller
NameDescribe
__blk_mq_complete_request