函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__check_store_iter

函数原型:static noinline void __check_store_iter(struct xarray *xa, unsigned long start, unsigned int order, unsigned int present)

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longstart
unsigned intorder
unsigned intpresent
842  XA_STATE_ORDER() - Declare an XArray operation state.*@name: Name of this operation state (usually xas).*@array: Array to operate on.*@index: Initial index of interest.*@order: Order of entry.* Declare and initialise an xa_state on the stack(xas, xa, start, order)
844  count等于0
846  retry :
847  xas_lock( & xas)
849  XA_BUG_ON(xa, !xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer.)
850  XA_BUG_ON(xa, entry < xa_mk_index(start))
851  XA_BUG_ON(xa, entry > xa_mk_index(start + (1UL << order) - 1))
852  count自加
854  xas_store() - Store this entry in the XArray
855  xas_unlock( & xas)
856  如果xas_nomem() - Allocate memory if needed.*@xas: XArray operation state.*@gfp: Memory allocation flags.* If we need to add new nodes to the XArray, we try to allocate memory* with GFP_NOWAIT while holding the lock, which will usually succeed.
857  count等于0
858  转到:retry
860  XA_BUG_ON(xa, xas_error() - Return an errno stored in the xa_state.*@xas: XArray operation state.* Return: 0 if no error has been noted. A negative errno if one has.)
861  XA_BUG_ON(xa, count != present)
862  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_index(start))
863  XA_BUG_ON(xa, xa_load() - Load an entry from an XArray.*@xa: XArray.*@index: index into array.* Context: Any context. Takes and releases the RCU lock.* Return: The entry at @index in @xa. != xa_mk_index(start))
865  xa_erase_index(xa, start)
调用者
名称描述
check_store_iter