Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\test_xarray.c Create Date:2022-07-28 06:33:50
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__check_store_iter

Proto:static noinline void __check_store_iter(struct xarray *xa, unsigned long start, unsigned int order, unsigned int present)

Type:void

Parameter:

TypeParameterName
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  If 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. Then
857  count = 0
858  Go to 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)
Caller
NameDescribe
check_store_iter