函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Release an icq. Called with ioc locked for blk-mq, and with both ioc* and queue locked for legacy.

函数原型:static void ioc_destroy_icq(struct io_cq *icq)

返回类型:void

参数:

类型参数名称
struct io_cq *icq
62  ioc等于ioc
63  q等于>icq_list and icq->q_node by q lock.
64  et等于type
66  lockdep_assert_held( & 自旋锁)
68  删除radix树项目
69  hlist_del_init( & ioc_node)
70  删除链表项并重新初始化
77  如果cu_access_pointer() - fetch RCU pointer with no dereferencing*@p: The pointer to read* Return the value of the specified RCU-protected pointer, but omit the* lockdep checks for being in an RCU read-side critical section(icq_hint)恒等于icqcu_assign_pointer() - assign to RCU-protected pointer*@p: pointer to assign to*@v: value to assign (publish)* Assigns the specified value to the specified RCU-protected* pointer, ensuring that any concurrent RCU readers will see* any prior initialization(icq_hint, NULL)
80  Exit an icq. Called with ioc locked for blk-mq, and with both ioc* and queue locked for legacy.
86  __rcu_icq_cache等于 managed by elevator core
87  Post an RCU callback to be invoked after the end of an RCU grace* period. But since we have but one CPU, that would be after any* quiescent state.
调用者
名称描述
ioc_release_fnSlow path for ioc release in put_io_context(). Performs double-lock* dancing to unlink all icq's and then frees ioc.
__ioc_clear_queue