函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Slow path for ioc release in put_io_context(). Performs double-lock* dancing to unlink all icq's and then frees ioc.

函数原型:static void ioc_release_fn(struct work_struct *work)

返回类型:void

参数:

类型参数名称
struct work_struct *work
96  ioc等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(work, structio_context, release_work)
106  spin_lock_irqsave_nested( & 自旋锁, flags, 1)
108  当非hlist_empty( & icq_list)循环
109  icq等于hlist_entry(first, structio_cq, ioc_node)
111  q等于>icq_list and icq->q_node by q lock.
113  如果spin_trylock( & queue_lock)则
116  否则
118  cpu_relax()
123  spin_unlock_irqrestore( & 自旋锁, flags)
125  kmem_cache_free(For io context allocations, ioc)