Lines Matching defs:xarray

9  * See Documentation/core-api/xarray.rst for how to use the XArray.
281 * struct xarray - The anchor of the XArray.
284 * To use the xarray, define it statically or embed it in your data structure.
296 struct xarray {
320 struct xarray name = XARRAY_INIT(name, flags)
351 void *xa_load(struct xarray *, unsigned long index);
352 void *xa_store(struct xarray *, unsigned long index, void *entry, gfp_t);
353 void *xa_erase(struct xarray *, unsigned long index);
354 void *xa_store_range(struct xarray *, unsigned long first, unsigned long last,
356 bool xa_get_mark(struct xarray *, unsigned long index, xa_mark_t);
357 void xa_set_mark(struct xarray *, unsigned long index, xa_mark_t);
358 void xa_clear_mark(struct xarray *, unsigned long index, xa_mark_t);
359 void *xa_find(struct xarray *xa, unsigned long *index,
361 void *xa_find_after(struct xarray *xa, unsigned long *index,
363 unsigned int xa_extract(struct xarray *, void **dst, unsigned long start,
365 void xa_destroy(struct xarray *);
378 static inline void xa_init_flags(struct xarray *xa, gfp_t flags)
393 static inline void xa_init(struct xarray *xa)
405 static inline bool xa_empty(const struct xarray *xa)
418 static inline bool xa_marked(const struct xarray *xa, xa_mark_t mark)
558 void *__xa_erase(struct xarray *, unsigned long index);
559 void *__xa_store(struct xarray *, unsigned long index, void *entry, gfp_t);
560 void *__xa_cmpxchg(struct xarray *, unsigned long index, void *old,
562 int __must_check __xa_insert(struct xarray *, unsigned long index,
564 int __must_check __xa_alloc(struct xarray *, u32 *id, void *entry,
566 int __must_check __xa_alloc_cyclic(struct xarray *, u32 *id, void *entry,
568 void __xa_set_mark(struct xarray *, unsigned long index, xa_mark_t);
569 void __xa_clear_mark(struct xarray *, unsigned long index, xa_mark_t);
585 static inline void *xa_store_bh(struct xarray *xa, unsigned long index,
612 static inline void *xa_store_irq(struct xarray *xa, unsigned long index,
638 static inline void *xa_erase_bh(struct xarray *xa, unsigned long index)
662 static inline void *xa_erase_irq(struct xarray *xa, unsigned long index)
688 static inline void *xa_cmpxchg(struct xarray *xa, unsigned long index,
716 static inline void *xa_cmpxchg_bh(struct xarray *xa, unsigned long index,
744 static inline void *xa_cmpxchg_irq(struct xarray *xa, unsigned long index,
774 static inline int __must_check xa_insert(struct xarray *xa,
804 static inline int __must_check xa_insert_bh(struct xarray *xa,
834 static inline int __must_check xa_insert_irq(struct xarray *xa,
859 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
867 static inline __must_check int xa_alloc(struct xarray *xa, u32 *id,
892 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
900 static inline int __must_check xa_alloc_bh(struct xarray *xa, u32 *id,
925 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
933 static inline int __must_check xa_alloc_irq(struct xarray *xa, u32 *id,
961 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
970 static inline int xa_alloc_cyclic(struct xarray *xa, u32 *id, void *entry,
998 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
1007 static inline int xa_alloc_cyclic_bh(struct xarray *xa, u32 *id, void *entry,
1035 * Must only be operated on an xarray initialized with flag XA_FLAGS_ALLOC set
1044 static inline int xa_alloc_cyclic_irq(struct xarray *xa, u32 *id, void *entry,
1076 int xa_reserve(struct xarray *xa, unsigned long index, gfp_t gfp)
1094 int xa_reserve_bh(struct xarray *xa, unsigned long index, gfp_t gfp)
1112 int xa_reserve_irq(struct xarray *xa, unsigned long index, gfp_t gfp)
1126 static inline void xa_release(struct xarray *xa, unsigned long index)
1134 * The xarray is constructed out of a set of 'chunks' of pointers. Choosing
1164 struct xarray *array; /* The array we belong to */
1176 void xa_dump(const struct xarray *);
1198 static inline void *xa_head(const struct xarray *xa)
1205 static inline void *xa_head_locked(const struct xarray *xa)
1212 static inline void *xa_entry(const struct xarray *xa,
1221 static inline void *xa_entry_locked(const struct xarray *xa,
1230 static inline struct xa_node *xa_parent(const struct xarray *xa,
1238 static inline struct xa_node *xa_parent_locked(const struct xarray *xa,
1345 struct xarray *xa;
1501 * xarray lock and want to reuse the xa_state.
1513 * @entry: Entry from xarray.
1550 int xa_get_order(struct xarray *, unsigned long index);
1554 static inline int xa_get_order(struct xarray *xa, unsigned long index)
1572 * xas_reload() - Refetch an entry from the xarray.
1583 * Return: The entry at this location in the xarray.
1682 * xas_next_entry() is an inline function to optimise xarray traversal for
1739 * xas_next_marked() is an inline function to optimise xarray traversal for
1781 * The loop body will be executed for each entry present in the xarray
1783 * the entry retrieved from the xarray. It is safe to delete entries
1799 * The loop body will be executed for each marked entry in the xarray
1801 * the entry retrieved from the xarray. It is safe to delete entries