Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-ioc.c Create Date:2022-07-28 17:04:13
Last Modify:2020-03-17 23:16:06 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Release an icq. Called with ioc locked for blk-mq, and with both ioc* and queue locked for legacy.

Proto:static void ioc_destroy_icq(struct io_cq *icq)

Type:void

Parameter:

TypeParameterName
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( & all the fields below are protected by this lock )
68  adix_tree_delete - delete an entry from a radix tree*@root: radix tree root*@index: index key* Remove the entry at @index from the radix tree rooted at @root.* Return: The deleted entry, or %NULL if it was not present.
69  hlist_del_init( & ioc_node)
70  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
77  If 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) == icq Then cu_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.
Caller
NameDescribe
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