| 函数逻辑报告 | 
| 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 | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称: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 | 
| 106 | spin_lock_irqsave_nested( & 自旋锁, flags, 1) | 
| 108 | 当非hlist_empty( & icq_list)循环 | 
| 109 | icq等于hlist_entry(first, structio_cq, ioc_node) | 
| 113 | 如果spin_trylock( & queue_lock)则 | 
| 114 | Release an icq. Called with ioc locked for blk-mq, and with both ioc* and queue locked for legacy. | 
| 115 | 自旋锁解锁 | 
| 116 | 否则 | 
| 117 | spin_unlock_irqrestore( & 自旋锁, flags) | 
| 118 | cpu_relax() | 
| 119 | spin_lock_irqsave_nested( & 自旋锁, flags, 1) | 
| 123 | spin_unlock_irqrestore( & 自旋锁, flags) | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |