函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:check_move_small

函数原型:static noinline void check_move_small(struct xarray *xa, unsigned long idx)

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longidx
1186  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)
1189  xa_store_index(xa, 0, GFP_KERNEL)
1190  xa_store_index(xa, idx, GFP_KERNEL)
1192  _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
1193 i小于idx乘4循环
1194  entry等于xas_next() - Move state to next index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked,
1195  如果i小于等于idxXA_BUG_ON(xa, xa_node == XAS_RESTART)
1197  XA_BUG_ON(xa, xa_index != i)
1198  如果i恒等于0或i恒等于idxXA_BUG_ON(xa, entry != xa_mk_index(i))
1200  否则XA_BUG_ON(xa, entry != NULL)
1203  xas_next() - Move state to next index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked,
1204  XA_BUG_ON(xa, xa_index != i)
1206  循环
1207  entry等于xas_prev() - Move iterator to previous index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked,
1208  i自减
1209  如果i小于等于idxXA_BUG_ON(xa, xa_node == XAS_RESTART)
1211  XA_BUG_ON(xa, xa_index != i)
1212  如果i恒等于0或i恒等于idxXA_BUG_ON(xa, entry != xa_mk_index(i))
1214  否则XA_BUG_ON(xa, entry != NULL)
1216 i大于0循环
1218  xas_set() - Set up XArray operation state for a different index
1219  XA_BUG_ON(xa, xas_next() - Move state to next index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked, != NULL)
1220  XA_BUG_ON(xa, xa_index != ULONG_MAX)
1221  XA_BUG_ON(xa, xas_next() - Move state to next index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked, != 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.)
1222  XA_BUG_ON(xa, xa_index != 0)
1223  XA_BUG_ON(xa, xas_prev() - Move iterator to previous index.*@xas: XArray operation state.* If the @xas was in an error state, it will remain in an error state* and this function will return %NULL. If the @xas has never been walked, != NULL)
1224  XA_BUG_ON(xa, xa_index != ULONG_MAX)
1225  _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()
1227  xa_erase_index(xa, 0)
1228  xa_erase_index(xa, idx)
1229  XA_BUG_ON(xa, !xa_empty() - Determine if an array has any present entries.*@xa: XArray.* Context: Any context.* Return: %true if the array contains only NULL pointers.)
调用者
名称描述
check_move