mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 12:20:52 +07:00
XArray: Fix Documentation
Minor fixes. Signed-off-by: Matthew Wilcox <willy@infradead.org>
This commit is contained in:
parent
d9c480435a
commit
804dfaf01b
@ -74,7 +74,8 @@ using :c:func:`xa_load`. xa_store will overwrite any entry with the
|
||||
new entry and return the previous entry stored at that index. You can
|
||||
use :c:func:`xa_erase` instead of calling :c:func:`xa_store` with a
|
||||
``NULL`` entry. There is no difference between an entry that has never
|
||||
been stored to and one that has most recently had ``NULL`` stored to it.
|
||||
been stored to, one that has been erased and one that has most recently
|
||||
had ``NULL`` stored to it.
|
||||
|
||||
You can conditionally replace an entry at an index by using
|
||||
:c:func:`xa_cmpxchg`. Like :c:func:`cmpxchg`, it will only succeed if
|
||||
@ -114,6 +115,9 @@ unused entry. If another user has stored to the entry in the meantime,
|
||||
:c:func:`xa_release` will do nothing; if instead you want the entry to
|
||||
become ``NULL``, you should use :c:func:`xa_erase`.
|
||||
|
||||
If all entries in the array are ``NULL``, the :c:func:`xa_empty` function
|
||||
will return ``true``.
|
||||
|
||||
Finally, you can remove all entries from an XArray by calling
|
||||
:c:func:`xa_destroy`. If the XArray entries are pointers, you may wish
|
||||
to free the entries first. You can do this by iterating over all present
|
||||
|
@ -487,7 +487,7 @@ static inline void *xa_store_irq(struct xarray *xa, unsigned long index,
|
||||
* the third argument. The XArray does not need to allocate memory, so
|
||||
* the user does not need to provide GFP flags.
|
||||
*
|
||||
* Context: Process context. Takes and releases the xa_lock while
|
||||
* Context: Any context. Takes and releases the xa_lock while
|
||||
* disabling softirqs.
|
||||
* Return: The entry which used to be at this index.
|
||||
*/
|
||||
@ -622,7 +622,7 @@ static inline int xa_alloc(struct xarray *xa, u32 *id, u32 max, void *entry,
|
||||
* Updates the @id pointer with the index, then stores the entry at that
|
||||
* index. A concurrent lookup will not see an uninitialised @id.
|
||||
*
|
||||
* Context: Process context. Takes and releases the xa_lock while
|
||||
* Context: Any context. Takes and releases the xa_lock while
|
||||
* disabling softirqs. May sleep if the @gfp flags permit.
|
||||
* Return: 0 on success, -ENOMEM if memory allocation fails or -ENOSPC if
|
||||
* there is no more space in the XArray.
|
||||
|
10
lib/xarray.c
10
lib/xarray.c
@ -610,8 +610,8 @@ static int xas_expand(struct xa_state *xas, void *head)
|
||||
* (see the xa_cmpxchg() implementation for an example).
|
||||
*
|
||||
* Return: If the slot already existed, returns the contents of this slot.
|
||||
* If the slot was newly created, returns NULL. If it failed to create the
|
||||
* slot, returns NULL and indicates the error in @xas.
|
||||
* If the slot was newly created, returns %NULL. If it failed to create the
|
||||
* slot, returns %NULL and indicates the error in @xas.
|
||||
*/
|
||||
static void *xas_create(struct xa_state *xas)
|
||||
{
|
||||
@ -1640,7 +1640,7 @@ EXPORT_SYMBOL(__xa_alloc);
|
||||
* @index: Index of entry.
|
||||
* @mark: Mark number.
|
||||
*
|
||||
* Attempting to set a mark on a NULL entry does not succeed.
|
||||
* Attempting to set a mark on a %NULL entry does not succeed.
|
||||
*
|
||||
* Context: Any context. Expects xa_lock to be held on entry.
|
||||
*/
|
||||
@ -1710,7 +1710,7 @@ EXPORT_SYMBOL(xa_get_mark);
|
||||
* @index: Index of entry.
|
||||
* @mark: Mark number.
|
||||
*
|
||||
* Attempting to set a mark on a NULL entry does not succeed.
|
||||
* Attempting to set a mark on a %NULL entry does not succeed.
|
||||
*
|
||||
* Context: Process context. Takes and releases the xa_lock.
|
||||
*/
|
||||
@ -1879,7 +1879,7 @@ static unsigned int xas_extract_marked(struct xa_state *xas, void **dst,
|
||||
*
|
||||
* The @filter may be an XArray mark value, in which case entries which are
|
||||
* marked with that mark will be copied. It may also be %XA_PRESENT, in
|
||||
* which case all entries which are not NULL will be copied.
|
||||
* which case all entries which are not %NULL will be copied.
|
||||
*
|
||||
* The entries returned may not represent a snapshot of the XArray at a
|
||||
* moment in time. For example, if another thread stores to index 5, then
|
||||
|
Loading…
Reference in New Issue
Block a user