Home
last modified time | relevance | path

Searched refs:xa_state (Results 1 – 7 of 7) sorted by relevance

/kernel/linux/linux-5.10/include/linux/
Dxarray.h1308 struct xa_state { struct
1349 struct xa_state name = __XA_STATE(array, index, 0, 0)
1363 struct xa_state name = __XA_STATE(array, \
1387 static inline int xas_error(const struct xa_state *xas) in xas_error()
1401 static inline void xas_set_err(struct xa_state *xas, long err) in xas_set_err()
1412 static inline bool xas_invalid(const struct xa_state *xas) in xas_invalid()
1423 static inline bool xas_valid(const struct xa_state *xas) in xas_valid()
1434 static inline bool xas_is_node(const struct xa_state *xas) in xas_is_node()
1467 static inline void xas_reset(struct xa_state *xas) in xas_reset()
1484 static inline bool xas_retry(struct xa_state *xas, const void *entry) in xas_retry()
[all …]
/kernel/linux/linux-5.10/lib/
Dxarray.c36 static inline void xas_lock_type(struct xa_state *xas, unsigned int lock_type) in xas_lock_type()
46 static inline void xas_unlock_type(struct xa_state *xas, unsigned int lock_type) in xas_unlock_type()
124 static void xas_squash_marks(const struct xa_state *xas) in xas_squash_marks()
147 static void xas_set_offset(struct xa_state *xas) in xas_set_offset()
153 static void xas_move_index(struct xa_state *xas, unsigned long offset) in xas_move_index()
160 static void xas_advance(struct xa_state *xas) in xas_advance()
166 static void *set_bounds(struct xa_state *xas) in set_bounds()
179 static void *xas_start(struct xa_state *xas) in xas_start()
201 static void *xas_descend(struct xa_state *xas, struct xa_node *node) in xas_descend()
231 void *xas_load(struct xa_state *xas) in xas_load()
[all …]
/kernel/linux/linux-5.10/arch/arm64/mm/
Dmteswap.c75 XA_STATE(xa_state, &mte_pages, entry.val); in mte_invalidate_tags_area()
78 xas_for_each(&xa_state, tags, last_entry.val - 1) { in mte_invalidate_tags_area()
79 __xa_erase(&mte_pages, xa_state.xa_index); in mte_invalidate_tags_area()
/kernel/linux/linux-5.10/Documentation/core-api/
Dxarray.rst317 The advanced API is based around the xa_state. This is an opaque data
319 macro. This macro initialises the xa_state ready to start walking
324 The xa_state is also used to store errors. You can call
326 the xa_state is in an error state before proceeding, so there's no need
333 If the xa_state is holding an ``ENOMEM`` error, calling xas_nomem()
335 cache it in the xa_state for the next attempt. The idea is that you take
362 - An XArray node. May be visible when using a multi-index xa_state.
390 to store every entry in a range. It will set ENOMEM in the xa_state if
400 The xas_load() will walk the xa_state as close to the entry
401 as it can. If you know the xa_state has already been walked to the
[all …]
/kernel/linux/linux-5.10/arch/arm64/kernel/
Dhibernate.c315 XA_STATE(xa_state, &mte_pages, 0); in swsusp_mte_free_storage()
319 xas_for_each(&xa_state, tags, ULONG_MAX) { in swsusp_mte_free_storage()
365 XA_STATE(xa_state, &mte_pages, 0); in swsusp_mte_restore_tags()
370 xas_for_each(&xa_state, tags, ULONG_MAX) { in swsusp_mte_restore_tags()
371 unsigned long pfn = xa_state.xa_index; in swsusp_mte_restore_tags()
/kernel/linux/linux-5.10/fs/
Ddax.c157 static wait_queue_head_t *dax_entry_waitqueue(struct xa_state *xas, in dax_entry_waitqueue()
195 static void dax_wake_entry(struct xa_state *xas, void *entry, in dax_wake_entry()
223 static void *get_unlocked_entry(struct xa_state *xas, unsigned int order) in get_unlocked_entry()
257 static void wait_entry_unlocked(struct xa_state *xas, void *entry) in wait_entry_unlocked()
278 static void put_unlocked_entry(struct xa_state *xas, void *entry, in put_unlocked_entry()
290 static void dax_unlock_entry(struct xa_state *xas, void *entry) in dax_unlock_entry()
306 static void *dax_lock_entry(struct xa_state *xas, void *entry) in dax_lock_entry()
487 static void *grab_mapping_entry(struct xa_state *xas, in grab_mapping_entry()
744 static void *dax_insert_entry(struct xa_state *xas, in dax_insert_entry()
878 static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, in dax_writeback_one()
[all …]
/kernel/linux/linux-5.10/mm/
Dmemfd.c31 static void memfd_tag_pins(struct xa_state *xas) in memfd_tag_pins()