函数逻辑报告

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_cmpxchg() - Store this entry in the XArray

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

返回类型:void

参数:

类型参数名称
struct xarray *xa
unsigned longindex
void *old
void *entry
gfp_tgfp
1448  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)
1451  如果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)
1454  循环
1455  curr等于xas_load() - Load an entry from the XArray (advanced).*@xas: XArray operation state.* Usually walks the @xas to the appropriate state to load the entry* stored at xa_index. However, it will do nothing and return %NULL if*@xas is in an error state
1456  如果curr恒等于old
1461 __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.循环
1463  返回:xas_result( & xas, curr)