Searched refs:xas (Results 1 - 25 of 49) sorted by relevance

12

/linux-master/lib/
H A Dxarray.c21 * @xas is the 'xarray operation state'. It may be either a pointer to
38 static inline void xas_lock_type(struct xa_state *xas, unsigned int lock_type) argument
41 xas_lock_irq(xas);
43 xas_lock_bh(xas);
45 xas_lock(xas);
48 static inline void xas_unlock_type(struct xa_state *xas, unsigned int lock_type) argument
51 xas_unlock_irq(xas);
53 xas_unlock_bh(xas);
55 xas_unlock(xas);
121 * @xas
126 xas_squash_marks(const struct xa_state *xas) argument
149 xas_set_offset(struct xa_state *xas) argument
155 xas_move_index(struct xa_state *xas, unsigned long offset) argument
162 xas_next_offset(struct xa_state *xas) argument
168 set_bounds(struct xa_state *xas) argument
181 xas_start(struct xa_state *xas) argument
203 xas_descend(struct xa_state *xas, struct xa_node *node) argument
235 xas_load(struct xa_state *xas) argument
268 xas_destroy(struct xa_state *xas) argument
298 xas_nomem(struct xa_state *xas, gfp_t gfp) argument
331 xas_destroy(xas); variable
351 xas_update(struct xa_state *xas, struct xa_node *node) argument
359 xas_alloc(struct xa_state *xas, unsigned int shift) argument
401 xas_size(const struct xa_state *xas) argument
413 xas_max(struct xa_state *xas) argument
437 xas_shrink(struct xa_state *xas) argument
481 xas_delete_node(struct xa_state *xas) argument
523 xas_free_nodes(struct xa_state *xas, struct xa_node *top) argument
559 xas_expand(struct xa_state *xas, void *head) argument
639 xas_create(struct xa_state *xas, bool allow_root) argument
704 xas_create_range(struct xa_state *xas) argument
747 update_node(struct xa_state *xas, struct xa_node *node, int count, int values) argument
775 xas_store(struct xa_state *xas, void *entry) argument
857 xas_get_mark(const struct xa_state *xas, xa_mark_t mark) argument
876 xas_set_mark(const struct xa_state *xas, xa_mark_t mark) argument
905 xas_clear_mark(const struct xa_state *xas, xa_mark_t mark) argument
939 xas_init_marks(const struct xa_state *xas) argument
1003 xas_split_alloc(struct xa_state *xas, void *entry, unsigned int order, gfp_t gfp) argument
1054 xas_split(struct xa_state *xas, void *entry, unsigned int order) argument
1120 xas_pause(struct xa_state *xas) argument
1150 __xas_prev(struct xa_state *xas) argument
1189 __xas_next(struct xa_state *xas) argument
1237 xas_find(struct xa_state *xas, unsigned long max) argument
1306 xas_find_marked(struct xa_state *xas, unsigned long max, xa_mark_t mark) argument
1394 xas_find_conflict(struct xa_state *xas) argument
1471 xas_result(struct xa_state *xas, void *curr) argument
1667 xas_set_range(struct xa_state *xas, unsigned long first, unsigned long last) argument
2038 xas_sibling(struct xa_state *xas) argument
2098 xas_extract_present(struct xa_state *xas, void **dst, unsigned long max, unsigned int n) argument
2117 xas_extract_marked(struct xa_state *xas, void **dst, unsigned long max, unsigned int n, xa_mark_t mark) argument
2187 struct xa_state xas = { local
[all...]
H A Dtest_xarray.c74 XA_STATE_ORDER(xas, xa, index, order);
78 xas_lock(&xas);
79 curr = xas_store(&xas, entry);
80 xas_unlock(&xas);
81 } while (xas_nomem(&xas, gfp));
104 XA_STATE(xas, xa, 0);
111 XA_BUG_ON(xa, xas_find(&xas, ULONG_MAX) != xa_mk_value(0));
113 XA_BUG_ON(xa, !xa_is_retry(xas_reload(&xas)));
114 XA_BUG_ON(xa, xas_retry(&xas, NULL));
115 XA_BUG_ON(xa, xas_retry(&xas, xa_mk_valu
[all...]
H A Didr.c383 XA_STATE(xas, &ida->xa, min / IDA_BITMAP_BITS);
395 xas_lock_irqsave(&xas, flags);
397 bitmap = xas_find_marked(&xas, max / IDA_BITMAP_BITS, XA_FREE_MARK);
398 if (xas.xa_index > min / IDA_BITMAP_BITS)
400 if (xas.xa_index * IDA_BITMAP_BITS + bit > max)
408 if (xas.xa_index * IDA_BITMAP_BITS + bit > max)
412 xas_store(&xas, xa_mk_value(tmp));
422 xas_store(&xas, bitmap);
423 if (xas_error(&xas)) {
431 if (xas
[all...]
/linux-master/include/linux/
H A Dxarray.h1358 * We encode errnos in the xas->xa_node. If an error has happened, we need to
1380 * @name: Name of this operation state (usually xas).
1391 * @name: Name of this operation state (usually xas).
1406 #define xas_marked(xas, mark) xa_marked((xas)->xa, (mark))
1407 #define xas_trylock(xas) xa_trylock((xas)->xa)
1408 #define xas_lock(xas) xa_lock((xas)->xa)
1409 #define xas_unlock(xas) xa_unloc
1425 xas_error(const struct xa_state *xas) argument
1439 xas_set_err(struct xa_state *xas, long err) argument
1450 xas_invalid(const struct xa_state *xas) argument
1461 xas_valid(const struct xa_state *xas) argument
1472 xas_is_node(const struct xa_state *xas) argument
1505 xas_reset(struct xa_state *xas) argument
1522 xas_retry(struct xa_state *xas, const void *entry) argument
1559 xas_split(struct xa_state *xas, void *entry, unsigned int order) argument
1565 xas_split_alloc(struct xa_state *xas, void *entry, unsigned int order, gfp_t gfp) argument
1585 xas_reload(struct xa_state *xas) argument
1614 xas_set(struct xa_state *xas, unsigned long index) argument
1630 xas_advance(struct xa_state *xas, unsigned long index) argument
1644 xas_set_order(struct xa_state *xas, unsigned long index, unsigned int order) argument
1667 xas_set_update(struct xa_state *xas, xa_update_node_t update) argument
1672 xas_set_lru(struct xa_state *xas, struct list_lru *lru) argument
1688 xas_next_entry(struct xa_state *xas, unsigned long max) argument
1713 xas_find_chunk(struct xa_state *xas, bool advance, xa_mark_t mark) argument
1745 xas_next_marked(struct xa_state *xas, unsigned long max, xa_mark_t mark) argument
1844 xas_prev(struct xa_state *xas) argument
1873 xas_next(struct xa_state *xas) argument
[all...]
H A Diov_iter.h154 XA_STATE(xas, iter->xarray, index);
157 xas_for_each(&xas, folio, ULONG_MAX) {
160 if (xas_retry(&xas, folio))
/linux-master/tools/testing/radix-tree/
H A Diteration_check.c23 XA_STATE(xas, xa, index);
28 xas_lock(&xas);
30 xas_set_order(&xas, index, order);
32 if (xas_find_conflict(&xas))
34 xas_store(&xas, item);
35 xas_set_mark(&xas, TAG);
38 xas_unlock(&xas);
39 if (xas_nomem(&xas, GFP_KERNEL))
69 XA_STATE(xas, &array, 0);
75 xas_set(&xas,
[all...]
H A Dmultiorder.c18 XA_STATE_ORDER(xas, xa, index, order);
22 xas_lock(&xas);
23 xas_store(&xas, item);
24 xas_unlock(&xas);
25 } while (xas_nomem(&xas, GFP_KERNEL));
27 if (!xas_error(&xas))
31 return xas_error(&xas);
36 XA_STATE(xas, xa, 0);
56 xas_set(&xas, j);
57 xas_for_each(&xas, ite
[all...]
H A Diteration_check_2.c15 XA_STATE(xas, arg, 0);
21 xas_set(&xas, 0);
23 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0)
26 assert(xas.xa_index >= 100);
H A Dtest.c176 XA_STATE(xas, xa, start);
183 xas_lock_irq(&xas);
184 xas_for_each_marked(&xas, item, end, iftag) {
185 xas_set_mark(&xas, thentag);
189 xas_pause(&xas);
190 xas_unlock_irq(&xas);
192 xas_lock_irq(&xas);
194 xas_unlock_irq(&xas);
257 XA_STATE(xas, xa, 0);
260 xas_for_each(&xas, entr
[all...]
H A Dregression1.c82 XA_STATE(xas, &mt_tree, start);
87 xas_for_each(&xas, page, ULONG_MAX) {
88 if (xas_retry(&xas, page))
99 if (unlikely(page != xas_reload(&xas)))
108 xas_reset(&xas);
/linux-master/fs/
H A Ddax.c143 static wait_queue_head_t *dax_entry_waitqueue(struct xa_state *xas, argument
147 unsigned long index = xas->xa_index;
156 key->xa = xas->xa;
159 hash = hash_long((unsigned long)xas->xa ^ index, DAX_WAIT_TABLE_BITS);
181 static void dax_wake_entry(struct xa_state *xas, void *entry, argument
187 wq = dax_entry_waitqueue(xas, entry, &key);
209 static void *get_unlocked_entry(struct xa_state *xas, unsigned int order) argument
219 entry = xas_find_conflict(xas);
227 wq = dax_entry_waitqueue(xas, entry, &ewait.key);
230 xas_unlock_irq(xas);
243 wait_entry_unlocked(struct xa_state *xas, void *entry) argument
264 put_unlocked_entry(struct xa_state *xas, void *entry, enum dax_wake_mode mode) argument
276 dax_unlock_entry(struct xa_state *xas, void *entry) argument
292 dax_lock_entry(struct xa_state *xas, void *entry) argument
573 grab_mapping_entry(struct xa_state *xas, struct address_space *mapping, unsigned int order) argument
869 dax_insert_entry(struct xa_state *xas, struct vm_fault *vmf, const struct iomap_iter *iter, void *entry, pfn_t pfn, unsigned long flags) argument
926 dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, struct address_space *mapping, void *entry) argument
1186 dax_load_hole(struct xa_state *xas, struct vm_fault *vmf, const struct iomap_iter *iter, void **entry) argument
1202 dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf, const struct iomap_iter *iter, void **entry) argument
1254 dax_pmd_load_hole(struct xa_state *xas, struct vm_fault *vmf, const struct iomap_iter *iter, void **entry) argument
1642 dax_fault_iter(struct vm_fault *vmf, const struct iomap_iter *iter, pfn_t *pfnp, struct xa_state *xas, void **entry, bool pmd) argument
1774 dax_fault_check_fallback(struct vm_fault *vmf, struct xa_state *xas, pgoff_t max_pgoff) argument
[all...]
/linux-master/fs/netfs/
H A Dmisc.c19 XA_STATE_ORDER(xas, xa, index, folio_order(folio));
22 xas_lock(&xas);
24 xas_store(&xas, folio);
25 if (!xas_error(&xas))
27 xas_unlock(&xas);
28 if (!xas_nomem(&xas, gfp_mask))
29 return xas_error(&xas);
34 xas_set_mark(&xas, NETFS_BUF_PUT_MARK);
36 xas_set_mark(&xas, NETFS_BUF_PAGECACHE_MARK);
37 xas_unlock(&xas);
[all...]
H A Dbuffered_write.c646 XA_STATE(xas, &mapping->i_pages, wreq->start / PAGE_SIZE);
653 xas_for_each(&xas, folio, last) {
688 xas_pause(&xas);
706 xas_advance(&xas, folio_next_index(folio) - 1);
771 struct xa_state *xas,
797 xas_for_each(xas, folio, ULONG_MAX) {
799 if (xas_retry(xas, folio))
804 xas_reset(xas);
809 xas_reset(xas);
814 if (unlikely(folio != xas_reload(xas))) {
769 netfs_extend_writeback(struct address_space *mapping, struct netfs_group *group, struct xa_state *xas, long *_count, loff_t start, loff_t max_len, bool caching, size_t *_len, size_t *_top) argument
892 netfs_write_back_from_locked_folio(struct address_space *mapping, struct writeback_control *wbc, struct netfs_group *group, struct xa_state *xas, struct folio *folio, unsigned long long start, unsigned long long end) argument
998 netfs_writepages_begin(struct address_space *mapping, struct writeback_control *wbc, struct netfs_group *group, struct xa_state *xas, unsigned long long *_start, unsigned long long end) argument
[all...]
H A Diterator.c160 XA_STATE(xas, iter->xarray, index);
169 xas_for_each(&xas, folio, ULONG_MAX) {
171 if (xas_retry(&xas, folio))
/linux-master/mm/
H A Dmemfd.c38 static void memfd_tag_pins(struct xa_state *xas) argument
45 xas_lock_irq(xas);
46 xas_for_each(xas, folio, ULONG_MAX) {
48 xas_set_mark(xas, MEMFD_TAG_PINNED);
54 xas_pause(xas);
55 xas_unlock_irq(xas);
57 xas_lock_irq(xas);
59 xas_unlock_irq(xas);
73 XA_STATE(xas, &mapping->i_pages, 0);
77 memfd_tag_pins(&xas);
[all...]
H A Dlist_lru.c366 XA_STATE(xas, &lru->xa, 0);
372 xas_lock_irq(&xas);
373 xas_for_each(&xas, mlru, ULONG_MAX) {
375 xas_store(&xas, NULL);
377 xas_unlock_irq(&xas);
471 XA_STATE(xas, &lru->xa, 0);
500 xas_lock_irqsave(&xas, flags);
505 xas_set(&xas, index);
507 if (unlikely(index < 0 || xas_error(&xas) || xas_load(&xas))) {
[all...]
H A Dfilemap.c127 static void mapping_set_update(struct xa_state *xas, argument
132 xas_set_update(xas, workingset_update_node);
133 xas_set_lru(xas, &shadow_nodes);
139 XA_STATE(xas, &mapping->i_pages, folio->index);
142 mapping_set_update(&xas, mapping);
144 xas_set_order(&xas, folio->index, folio_order(folio));
149 xas_store(&xas, shadow);
150 xas_init_marks(&xas);
289 XA_STATE(xas, &mapping->i_pages, fbatch->folios[0]->index);
294 mapping_set_update(&xas, mappin
1959 find_get_entry(struct xa_state *xas, pgoff_t max, xa_mark_t mark) argument
2932 folio_seek_hole_data(struct xa_state *xas, struct address_space *mapping, struct folio *folio, loff_t start, loff_t end, bool seek_data) argument
2965 seek_folio_size(struct xa_state *xas, struct folio *folio) argument
3436 next_uptodate_folio(struct xa_state *xas, struct address_space *mapping, pgoff_t end_pgoff) argument
[all...]
H A Dswap_state.c93 XA_STATE_ORDER(xas, &address_space->i_pages, idx, folio_order(folio));
97 xas_set_update(&xas, workingset_update_node);
108 xas_lock_irq(&xas);
109 xas_create_range(&xas);
110 if (xas_error(&xas))
113 VM_BUG_ON_FOLIO(xas.xa_index != idx + i, folio);
115 old = xas_load(&xas);
119 xas_store(&xas, folio);
120 xas_next(&xas);
126 xas_unlock_irq(&xas);
[all...]
H A Dkhugepaged.c1806 XA_STATE_ORDER(xas, &mapping->i_pages, start, HPAGE_PMD_ORDER);
1829 xas_lock_irq(&xas);
1830 xas_create_range(&xas);
1831 if (!xas_error(&xas))
1833 xas_unlock_irq(&xas);
1834 if (!xas_nomem(&xas, GFP_KERNEL)) {
1841 xas_set(&xas, index);
1842 page = xas_load(&xas);
1844 VM_BUG_ON(index != xas.xa_index);
1853 if (!xas_next_entry(&xas, en
[all...]
H A Dpage-writeback.c2344 XA_STATE(xas, &mapping->i_pages, start);
2348 xas_lock_irq(&xas);
2349 xas_for_each_marked(&xas, page, end, PAGECACHE_TAG_DIRTY) {
2350 xas_set_mark(&xas, PAGECACHE_TAG_TOWRITE);
2354 xas_pause(&xas);
2355 xas_unlock_irq(&xas);
2357 xas_lock_irq(&xas);
2359 xas_unlock_irq(&xas);
3049 XA_STATE(xas, &mapping->i_pages, folio_index(folio));
3055 xas_lock_irqsave(&xas, flag
[all...]
/linux-master/fs/cachefiles/
H A Dondemand.c15 XA_STATE(xas, &cache->reqs, 0);
22 xas_for_each_marked(&xas, req, ULONG_MAX, CACHEFILES_REQ_NEW) {
26 xas_store(&xas, NULL);
189 XA_STATE(xas, &cache->reqs, 0);
199 xas_lock(&xas);
200 xas_for_each(&xas, req, ULONG_MAX)
201 xas_set_mark(&xas, CACHEFILES_REQ_NEW);
202 xas_unlock(&xas);
273 static struct cachefiles_req *cachefiles_ondemand_select_req(struct xa_state *xas, argument
280 xas_for_each_marked(xas, re
[all...]
/linux-master/drivers/infiniband/core/
H A Dib_core_uverbs.c268 XA_STATE(xas, &ucontext->mmap_xa, min_pgoff);
294 xas_find_marked(&xas, max_pgoff, XA_FREE_MARK);
295 if (xas.xa_node == XAS_RESTART)
298 xa_first = xas.xa_index;
308 xas_next_entry(&xas, xa_last - 1);
309 if (xas.xa_node == XAS_BOUNDS || xas.xa_index >= xa_last)
/linux-master/drivers/infiniband/sw/rxe/
H A Drxe_mr.c96 XA_STATE(xas, &mr->page_list, 0);
106 xas_lock(&xas);
112 xas_set_err(&xas, -EINVAL);
116 xas_store(&xas, page);
117 if (xas_error(&xas))
119 xas_next(&xas);
123 xas_unlock(&xas);
124 } while (xas_nomem(&xas, GFP_KERNEL));
126 return xas_error(&xas);
161 XA_STATE(xas,
[all...]
/linux-master/drivers/iommu/iommufd/
H A Dpages.c523 XA_STATE(xas, xa, start_index);
528 entry = xas_next(&xas);
529 if (xas_retry(&xas, entry))
544 XA_STATE(xas, xa, start_index);
547 xas_lock(&xas);
549 entry = xas_next(&xas);
550 if (xas_retry(&xas, entry))
555 xas_store(&xas, NULL);
560 xas_unlock(&xas);
566 XA_STATE(xas, x
[all...]
/linux-master/arch/x86/kernel/cpu/sgx/
H A Dencl.c530 XA_STATE(xas, &encl->page_array, PFN_DOWN(start));
545 xas_lock(&xas);
546 xas_for_each(&xas, page, PFN_DOWN(end - 1)) {
554 xas_pause(&xas);
555 xas_unlock(&xas);
561 xas_lock(&xas);
564 xas_unlock(&xas);
708 XA_STATE(xas, &encl->page_array, PFN_DOWN(encl->base));
710 xas_lock(&xas);
711 xas_for_each(&xas, entr
[all...]

Completed in 306 milliseconds

12