函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:check_xa_mark_1

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

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longindex
175  max_order等于如果IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_XARRAY_MULTI)则8否则1
178  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
179  xa_set_mark() - Set this mark on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* Attempting to set a mark on a %NULL entry does not succeed.* Context: Process context. Takes and releases the xa_lock.
180  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
183  XA_BUG_ON(xa, xa_store_index(xa, index, GFP_KERNEL) != NULL)
184  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
185  xa_set_mark() - Set this mark on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* Attempting to set a mark on a %NULL entry does not succeed.* Context: Process context. Takes and releases the xa_lock.
186  XA_BUG_ON(xa, !xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
189  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
190  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
193  xa_erase_index(xa, index)
194  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.)
195  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
196  xa_set_mark() - Set this mark on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* Attempting to set a mark on a %NULL entry does not succeed.* Context: Process context. Takes and releases the xa_lock.
197  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
203  BUG_ON((index % 4) != 0)
204 order小于max_order循环
205  base等于und_down - round down to next specified power of 2*@x: the value to round*@y: multiple to round down to (must be a power of 2)* Rounds @x down to next multiple of @y (which must be a power of 2).* To perform arbitrary rounding down, use rounddown() below.(index, 1UL << order)
206  next等于base加1UL左移order位的值
209  XA_BUG_ON(xa, xa_store_index(xa, index + 1, GFP_KERNEL))
210  xa_set_mark() - Set this mark on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* Attempting to set a mark on a %NULL entry does not succeed.* Context: Process context. Takes and releases the xa_lock.
211  XA_BUG_ON(xa, xa_store_index(xa, index + 2, GFP_KERNEL))
212  xa_set_mark() - Set this mark on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* Attempting to set a mark on a %NULL entry does not succeed.* Context: Process context. Takes and releases the xa_lock.
213  XA_BUG_ON(xa, xa_store_index(xa, next, GFP_KERNEL))
214  If anyone needs this, please move it to xarray.c. We have no current* users outside the test suite because all current multislot users want* to use the advanced API.
216 i小于next循环
218  seen等于0
228  seen自加
230  XA_BUG_ON(xa, seen != 2)
234  seen等于0
237  seen自加
239  XA_BUG_ON(xa, seen != 1)
241  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
242  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
243  XA_BUG_ON(xa, xa_get_mark() - Inquire whether this mark is set on this entry.*@xa: XArray.*@index: Index of entry.*@mark: Mark number.* This function uses the RCU read lock, so the result may be out of date* by the time it returns)
244  xa_erase_index(xa, index)
245  xa_erase_index(xa, next)
246  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.)
248  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_xa_mark