函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\test_xarray.c Create Date:2022-07-27 07:30:55
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:check_xas_retry

函数原型:static noinline void check_xas_retry(struct xarray *xa)

返回类型:void

参数:

类型参数名称
struct xarray *xa
101  XA_STATE() - Declare an XArray operation state.*@name: Name of this operation state (usually xas).*@array: Array to operate on.*@index: Initial index of interest.* Declare and initialise an xa_state on the stack.(xas, xa, 0)
104  xa_store_index(xa, 0, GFP_KERNEL)
105  xa_store_index(xa, 1, GFP_KERNEL)
107  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
108  XA_BUG_ON(xa, xas_find() - Find the next present entry in the XArray != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
109  xa_erase_index(xa, 1)
110  XA_BUG_ON(xa, !xa_is_retry() - Is the entry a retry entry?*@entry: Entry retrieved from the XArray* Return: %true if the entry is a retry entry.)
111  XA_BUG_ON(xa, xas_retry() - Retry the operation if appropriate.*@xas: XArray operation state.*@entry: Entry from xarray.* The advanced functions may sometimes return an internal entry, such as* a retry entry or a zero entry. This function sets up the @xas to restart)
112  XA_BUG_ON(xa, xas_retry() - Retry the operation if appropriate.*@xas: XArray operation state.*@entry: Entry from xarray.* The advanced functions may sometimes return an internal entry, such as* a retry entry or a zero entry. This function sets up the @xas to restart)
113  xas_reset() - Reset an XArray operation state.*@xas: XArray operation state.* Resets the error or walk state of the @xas so future walks of the* array will start from the root. Use this if you have dropped the* xarray lock and want to reuse the xa_state.
114  XA_BUG_ON(xa, xa_node != XAS_RESTART)
115  XA_BUG_ON(xa, xas_next_entry() - Advance iterator to next present entry.*@xas: XArray operation state.*@max: Highest index to return.* xas_next_entry() is an inline function to optimise xarray traversal for* speed != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
116  XA_BUG_ON(xa, xa_node != NULL)
117  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
119  XA_BUG_ON(xa, xa_store_index(xa, 1, GFP_KERNEL) != NULL)
121  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
122  XA_BUG_ON(xa, !xa_is_internal() - Is the entry an internal entry?*@entry: XArray entry.* Context: Any context.* Return: %true if the entry is an internal entry.)
123  xa_node等于XAS_RESTART
124  XA_BUG_ON(xa, xas_next_entry() - Advance iterator to next present entry.*@xas: XArray operation state.*@max: Highest index to return.* xas_next_entry() is an inline function to optimise xarray traversal for* speed != xa_mk_value() - Create an XArray entry from an integer.*@v: Value to store in XArray.* Context: Any context.* Return: An entry suitable for storing in the XArray.)
125  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
128  xas_lock( & xas)
129  xas_set() - Set up XArray operation state for a different index
130  xas_store() - Store this entry in the XArray
131  xas_set() - Set up XArray operation state for a different index
132  xas_store() - Store this entry in the XArray
134  xas_set() - Set up XArray operation state for a different index
136  xas_store() - Store this entry in the XArray
138  xas_unlock( & xas)
140  xa_erase_index(xa, 0)
141  xa_erase_index(xa, 1)
调用者
名称描述
xarray_checks