xa_state
XA_STATE(xa_state, &mte_pages, 0);
xas_for_each(&xa_state, tags, ULONG_MAX) {
XA_STATE(xa_state, &mte_pages, 0);
xas_for_each(&xa_state, tags, ULONG_MAX) {
unsigned long pfn = xa_state.xa_index;
XA_STATE(xa_state, &mte_pages, entry.val);
xas_for_each(&xa_state, tags, last_entry.val - 1) {
__xa_erase(&mte_pages, xa_state.xa_index);
static inline struct extent_buffer *find_get_eb(struct xa_state *xas, unsigned long max,
static struct cachefiles_req *cachefiles_ondemand_select_req(struct xa_state *xas,
struct xa_state *xas, int err)
static void *dax_insert_entry(struct xa_state *xas, struct vm_fault *vmf,
static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev,
static vm_fault_t dax_load_hole(struct xa_state *xas, struct vm_fault *vmf,
static vm_fault_t dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf,
static vm_fault_t dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf,
static wait_queue_head_t *dax_entry_waitqueue(struct xa_state *xas,
struct xa_state *xas, void **entry, bool pmd)
static void dax_wake_entry(struct xa_state *xas, void *entry,
static bool dax_fault_check_fallback(struct vm_fault *vmf, struct xa_state *xas,
static void *get_next_unlocked_entry(struct xa_state *xas, unsigned int order)
static void *wait_entry_unlocked_exclusive(struct xa_state *xas, void *entry)
static void wait_entry_unlocked(struct xa_state *xas, void *entry)
static void put_unlocked_entry(struct xa_state *xas, void *entry,
static void dax_unlock_entry(struct xa_state *xas, void *entry)
static void *dax_lock_entry(struct xa_state *xas, void *entry)
static void *grab_mapping_entry(struct xa_state *xas,
struct xa_state name = __XA_STATE(array, index, 0, 0)
struct xa_state name = __XA_STATE(array, \
static inline int xas_error(const struct xa_state *xas)
static inline void xas_set_err(struct xa_state *xas, long err)
static inline bool xas_invalid(const struct xa_state *xas)
static inline bool xas_valid(const struct xa_state *xas)
static inline bool xas_is_node(const struct xa_state *xas)
static inline void xas_reset(struct xa_state *xas)
static inline bool xas_retry(struct xa_state *xas, const void *entry)
void *xas_load(struct xa_state *);
void *xas_store(struct xa_state *, void *entry);
void *xas_find(struct xa_state *, unsigned long max);
void *xas_find_conflict(struct xa_state *);
bool xas_get_mark(const struct xa_state *, xa_mark_t);
void xas_set_mark(const struct xa_state *, xa_mark_t);
void xas_clear_mark(const struct xa_state *, xa_mark_t);
void *xas_find_marked(struct xa_state *, unsigned long max, xa_mark_t);
void xas_init_marks(const struct xa_state *);
bool xas_nomem(struct xa_state *, gfp_t);
void xas_destroy(struct xa_state *);
void xas_pause(struct xa_state *);
void xas_create_range(struct xa_state *);
int xas_get_order(struct xa_state *xas);
void xas_split(struct xa_state *, void *entry, unsigned int order);
void xas_split_alloc(struct xa_state *, void *entry, unsigned int order, gfp_t);
void xas_try_split(struct xa_state *xas, void *entry, unsigned int order);
static inline int xas_get_order(struct xa_state *xas)
static inline void xas_split(struct xa_state *xas, void *entry,
static inline void xas_split_alloc(struct xa_state *xas, void *entry,
static inline void xas_try_split(struct xa_state *xas, void *entry,
static inline void *xas_reload(struct xa_state *xas)
static inline void xas_set(struct xa_state *xas, unsigned long index)
static inline void xas_advance(struct xa_state *xas, unsigned long index)
static inline void xas_set_order(struct xa_state *xas, unsigned long index,
static inline void xas_set_update(struct xa_state *xas, xa_update_node_t update)
static inline void xas_set_lru(struct xa_state *xas, struct list_lru *lru)
static inline void *xas_next_entry(struct xa_state *xas, unsigned long max)
static inline unsigned int xas_find_chunk(struct xa_state *xas, bool advance,
static inline void *xas_next_marked(struct xa_state *xas, unsigned long max,
void *__xas_next(struct xa_state *);
void *__xas_prev(struct xa_state *);
static inline void *xas_prev(struct xa_state *xas)
static inline void *xas_next(struct xa_state *xas)
static void __xas_init_node_for_split(struct xa_state *xas,
void xas_split_alloc(struct xa_state *xas, void *entry, unsigned int order,
void xas_split(struct xa_state *xas, void *entry, unsigned int order)
void xas_try_split(struct xa_state *xas, void *entry, unsigned int order)
static void xas_squash_marks(const struct xa_state *xas)
void xas_pause(struct xa_state *xas)
void *__xas_prev(struct xa_state *xas)
void *__xas_next(struct xa_state *xas)
void *xas_find(struct xa_state *xas, unsigned long max)
void *xas_find_marked(struct xa_state *xas, unsigned long max, xa_mark_t mark)
static void xas_set_offset(struct xa_state *xas)
void *xas_find_conflict(struct xa_state *xas)
static void xas_move_index(struct xa_state *xas, unsigned long offset)
static void *xas_result(struct xa_state *xas, void *curr)
static void xas_next_offset(struct xa_state *xas)
static void *set_bounds(struct xa_state *xas)
static void *xas_start(struct xa_state *xas)
static void xas_set_range(struct xa_state *xas, unsigned long first,
int xas_get_order(struct xa_state *xas)
static __always_inline void *xas_descend(struct xa_state *xas,
static bool xas_sibling(struct xa_state *xas)
static unsigned int xas_extract_present(struct xa_state *xas, void **dst,
static unsigned int xas_extract_marked(struct xa_state *xas, void **dst,
struct xa_state xas = {
void *xas_load(struct xa_state *xas)
void xas_destroy(struct xa_state *xas)
bool xas_nomem(struct xa_state *xas, gfp_t gfp)
static bool __xas_nomem(struct xa_state *xas, gfp_t gfp)
static void xas_update(struct xa_state *xas, struct xa_node *node)
static void *xas_alloc(struct xa_state *xas, unsigned int shift)
static inline void xas_lock_type(struct xa_state *xas, unsigned int lock_type)
static unsigned long xas_size(const struct xa_state *xas)
static unsigned long xas_max(struct xa_state *xas)
static void xas_shrink(struct xa_state *xas)
static inline void xas_unlock_type(struct xa_state *xas, unsigned int lock_type)
static void xas_delete_node(struct xa_state *xas)
static void xas_free_nodes(struct xa_state *xas, struct xa_node *top)
static int xas_expand(struct xa_state *xas, void *head)
static void *xas_create(struct xa_state *xas, bool allow_root)
void xas_create_range(struct xa_state *xas)
static void update_node(struct xa_state *xas, struct xa_node *node,
void *xas_store(struct xa_state *xas, void *entry)
bool xas_get_mark(const struct xa_state *xas, xa_mark_t mark)
void xas_set_mark(const struct xa_state *xas, xa_mark_t mark)
void xas_clear_mark(const struct xa_state *xas, xa_mark_t mark)
void xas_init_marks(const struct xa_state *xas)
static inline struct folio *find_get_entry(struct xa_state *xas, pgoff_t max,
static inline loff_t folio_seek_hole_data(struct xa_state *xas,
static inline size_t seek_folio_size(struct xa_state *xas, struct folio *folio)
static struct folio *next_uptodate_folio(struct xa_state *xas,
struct page *split_at, struct xa_state *xas,
struct page *split_at, struct xa_state *xas,
static void memfd_tag_pins(struct xa_state *xas)