Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:xa_store_many_order

Proto:static noinline void xa_store_many_order(struct xarray *xa, unsigned long index, unsigned order)

Type:void

Parameter:

TypeParameterName
struct xarray *xa
unsigned longindex
unsignedorder
1304  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, index, order)
1305  i = 0
1307  Do
1308  xas_lock( & xas)
1309  XA_BUG_ON(xa, xas_find_conflict() - Find the next present entry in a range.*@xas: XArray operation state.* The @xas describes both a range and a position within that range.* Context: Any context. Expects xa_lock to be held.)
1310  xas_create_range() - Ensure that stores to this range will succeed*@xas: XArray operation state.* Creates all of the slots in the range covered by @xas. Sets @xas to* create single-index entries and positions it at the beginning of the* range
1311  If 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. Then Go to unlock
1313  When i < 1U << order cycle
1317  unlock :
1318  xas_unlock( & xas)
1319  When 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. cycle
1321  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.)
Caller
NameDescribe
check_create_range_1
check_create_range_2