函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__xa_store() - Store this entry in the XArray

函数原型:void *__xa_store(struct xarray *xa, unsigned long index, void *entry, gfp_t gfp)

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longindex
void *entry
gfp_tgfp
1382  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, index)
1385  如果WARN_ON_ONCE(xa_is_advanced() - Is the entry only permitted for the advanced API?*@entry: Entry to be stored in the XArray.* Return: %true if the entry cannot be stored by the normal API.)则返回:We encode errnos in the xas->xa_node. If an error has happened, we need to* drop the lock to fix it, and once we've done so the xa_state is invalid.( - EINVAL)
1387  如果xa_track_free(xa)且非entryentry等于XA_ZERO_ENTRY
1390  循环
1391  curr等于xas_store() - Store this entry in the XArray
1392  如果xa_track_free(xa)则xas_clear_mark() - Clears the mark on this entry and its parents.*@xas: XArray operation state.*@mark: Mark number.* Clears the specified mark on this entry, and walks back to the head* attempting to clear it on all the ancestor entries. Does nothing if
1394 __xas_nomem() - Drop locks and allocate memory if needed.*@xas: XArray operation state.*@gfp: Memory allocation flags.* Internal variant of xas_nomem().* Return: true if memory was needed, and was successfully allocated.循环
1396  返回:xas_result( & xas, curr)
调用者
名称描述
xa_storexa_store() - Store this entry in the XArray.*@xa: XArray.*@index: Index into array.*@entry: New entry.*@gfp: Memory allocation flags.* After this function returns, loads from this index will return @entry.
__split_huge_page