| /linux-6.15/lib/ |
| H A D | xarray.c | 152 xas->xa_offset = get_offset(xas->xa_index, xas->xa_node); in xas_set_offset() 1322 xas->xa_node = xa_parent(xas->xa, xas->xa_node); in __xas_prev() 1328 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_prev() 1361 xas->xa_node = xa_parent(xas->xa, xas->xa_node); in __xas_next() 1367 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in __xas_next() 1419 xas->xa_node = xa_parent(xas->xa, xas->xa_node); in xas_find() 1423 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find() 1489 xas->xa_offset = xas->xa_index >> xas->xa_node->shift; in xas_find_marked() 1495 xas->xa_node = xa_parent(xas->xa, xas->xa_node); in xas_find_marked() 1522 entry = xa_entry(xas->xa, xas->xa_node, xas->xa_offset); in xas_find_marked() [all …]
|
| H A D | test_xarray.c | 78 xas_lock(&xas); in xa_store_order() 80 xas_unlock(&xas); in xa_store_order() 116 xas_reset(&xas); in check_xas_retry() 131 xas_lock(&xas); in check_xas_retry() 132 xas_set(&xas, 0); in check_xas_retry() 139 xas_store(&xas, xa_mk_index(xas.xa_index)); in check_xas_retry() 263 xas_lock(&xas); in check_xa_mark_2() 264 xas_load(&xas); in check_xa_mark_2() 281 xas_lock(&xas); in check_xa_mark_2() 339 xas_lock(&xas); in check_xa_shrink() [all …]
|
| H A D | idr.c | 395 xas_lock_irqsave(&xas, flags); in ida_alloc_range() 422 xas_store(&xas, bitmap); in ida_alloc_range() 423 if (xas_error(&xas)) { in ida_alloc_range() 450 xas_store(&xas, bitmap); in ida_alloc_range() 454 if (xas_nomem(&xas, gfp)) { in ida_alloc_range() 461 if (xas_error(&xas)) in ida_alloc_range() 462 return xas_error(&xas); in ida_alloc_range() 565 bitmap = xas_load(&xas); in ida_free() 585 xas_store(&xas, NULL); in ida_free() 610 XA_STATE(xas, &ida->xa, 0); in ida_destroy() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | xarray.h | 1411 #define xas_trylock(xas) xa_trylock((xas)->xa) argument 1412 #define xas_lock(xas) xa_lock((xas)->xa) argument 1413 #define xas_unlock(xas) xa_unlock((xas)->xa) argument 1414 #define xas_lock_bh(xas) xa_lock_bh((xas)->xa) argument 1415 #define xas_unlock_bh(xas) xa_unlock_bh((xas)->xa) argument 1416 #define xas_lock_irq(xas) xa_lock_irq((xas)->xa) argument 1417 #define xas_unlock_irq(xas) xa_unlock_irq((xas)->xa) argument 1478 return xas_valid(xas) && xas->xa_node; in xas_is_node() 1717 xas->xa_offset != (xas->xa_index & XA_CHUNK_MASK))) in xas_next_entry() 1877 return xa_entry(xas->xa, node, xas->xa_offset); in xas_prev() [all …]
|
| /linux-6.15/fs/ |
| H A D | dax.c | 161 key->xa = xas->xa; in dax_entry_waitqueue() 236 xas_reset(xas); in get_next_unlocked_entry() 239 xas_lock_irq(xas); in get_next_unlocked_entry() 260 xas_pause(xas); in wait_entry_unlocked_exclusive() 317 xas_reset(xas); in dax_unlock_entry() 318 xas_lock_irq(xas); in dax_unlock_entry() 703 xas_reset(xas); in grab_mapping_entry() 812 xas_pause(&xas); in dax_layout_busy_page_range() 872 xas_pause(&xas); in __dax_clear_dirty_range() 1078 xas_reset(xas); in dax_insert_entry() [all …]
|
| /linux-6.15/tools/testing/radix-tree/ |
| H A D | iteration_check.c | 23 XA_STATE(xas, xa, index); in my_item_insert() 28 xas_lock(&xas); in my_item_insert() 34 xas_store(&xas, item); in my_item_insert() 35 xas_set_mark(&xas, TAG); in my_item_insert() 38 xas_unlock(&xas); in my_item_insert() 69 XA_STATE(xas, &array, 0); in tagged_iteration_fn() 75 xas_set(&xas, 0); in tagged_iteration_fn() 82 xas_pause(&xas); in tagged_iteration_fn() 102 XA_STATE(xas, &array, 0); in untagged_iteration_fn() 108 xas_set(&xas, 0); in untagged_iteration_fn() [all …]
|
| H A D | multiorder.c | 22 xas_lock(&xas); in item_insert_order() 23 xas_store(&xas, item); in item_insert_order() 24 xas_unlock(&xas); in item_insert_order() 27 if (!xas_error(&xas)) in item_insert_order() 31 return xas_error(&xas); in item_insert_order() 36 XA_STATE(xas, xa, 0); in multiorder_iteration() 56 xas_set(&xas, j); in multiorder_iteration() 76 XA_STATE(xas, xa, 0); in multiorder_tagged_iteration() 107 xas_set(&xas, j); in multiorder_tagged_iteration() 135 xas_set(&xas, j); in multiorder_tagged_iteration() [all …]
|
| H A D | test.c | 176 XA_STATE(xas, xa, start); in tag_tagged_items() 183 xas_lock_irq(&xas); in tag_tagged_items() 185 xas_set_mark(&xas, thentag); in tag_tagged_items() 189 xas_pause(&xas); in tag_tagged_items() 190 xas_unlock_irq(&xas); in tag_tagged_items() 192 xas_lock_irq(&xas); in tag_tagged_items() 194 xas_unlock_irq(&xas); in tag_tagged_items() 257 XA_STATE(xas, xa, 0); in item_kill_tree() 260 xas_for_each(&xas, entry, ULONG_MAX) { in item_kill_tree() 262 item_free(entry, xas.xa_index); in item_kill_tree() [all …]
|
| H A D | iteration_check_2.c | 15 XA_STATE(xas, arg, 0); in iterator() 21 xas_set(&xas, 0); in iterator() 23 xas_for_each_marked(&xas, entry, ULONG_MAX, XA_MARK_0) in iterator() 26 assert(xas.xa_index >= 100); in iterator()
|
| H A D | regression1.c | 82 XA_STATE(xas, &mt_tree, start); in find_get_pages() 87 xas_for_each(&xas, page, ULONG_MAX) { in find_get_pages() 88 if (xas_retry(&xas, page)) in find_get_pages() 99 if (unlikely(page != xas_reload(&xas))) in find_get_pages() 108 xas_reset(&xas); in find_get_pages()
|
| /linux-6.15/fs/cachefiles/ |
| H A D | ondemand.c | 25 XA_STATE(xas, NULL, 0); in cachefiles_ondemand_fd_release() 32 xas.xa = &cache->reqs; in cachefiles_ondemand_fd_release() 133 req = xas_load(&xas); in cachefiles_ondemand_fd_ioctl() 194 xas.xa_index = id; in cachefiles_ondemand_copen() 286 xas_lock(&xas); in cachefiles_ondemand_restore() 289 xas_unlock(&xas); in cachefiles_ondemand_restore() 407 if (xa_cmpxchg(xas->xa, xas->xa_index, req, NULL, 0) != req) in cachefiles_ondemand_finish_req() 433 xas_set(&xas, 0); in cachefiles_ondemand_daemon_read() 537 xas_lock(&xas); in cachefiles_ondemand_send_req() 541 xas_unlock(&xas); in cachefiles_ondemand_send_req() [all …]
|
| /linux-6.15/mm/ |
| H A D | memfd.c | 45 xas_lock_irq(xas); in memfd_tag_pins() 54 xas_pause(xas); in memfd_tag_pins() 55 xas_unlock_irq(xas); in memfd_tag_pins() 57 xas_lock_irq(xas); in memfd_tag_pins() 59 xas_unlock_irq(xas); in memfd_tag_pins() 124 memfd_tag_pins(&xas); in memfd_wait_for_pins() 138 xas_set(&xas, 0); in memfd_wait_for_pins() 139 xas_lock_irq(&xas); in memfd_wait_for_pins() 162 xas_pause(&xas); in memfd_wait_for_pins() 165 xas_lock_irq(&xas); in memfd_wait_for_pins() [all …]
|
| H A D | filemap.c | 142 xas_init_marks(&xas); in page_cache_delete() 837 xas_lock_irq(&xas); in replace_page_cache_folio() 918 xas_reset(&xas); in __filemap_add_folio() 1858 xas_reset(&xas); in filemap_get_entry() 2049 xas_reset(xas); in find_get_entry() 2221 for (folio = xas_load(&xas); folio && xas.xa_index <= end; in filemap_get_folios_contig() 2253 xas_reset(&xas); in filemap_get_folios_contig() 2362 for (folio = xas_load(&xas); folio; folio = xas_next(&xas)) { in filemap_get_read_batch() 2386 xas_reset(&xas); in filemap_get_read_batch() 3055 xas_pause(xas); in folio_seek_hole_data() [all …]
|
| H A D | list_lru.c | 425 XA_STATE(xas, &lru->xa, 0); in memcg_destroy_list_lru() 431 xas_lock_irq(&xas); in memcg_destroy_list_lru() 434 xas_store(&xas, NULL); in memcg_destroy_list_lru() 436 xas_unlock_irq(&xas); in memcg_destroy_list_lru() 477 xas_lock_irq(&xas); in memcg_reparent_list_lrus() 478 mlru = xas_store(&xas, NULL); in memcg_reparent_list_lrus() 479 xas_unlock_irq(&xas); in memcg_reparent_list_lrus() 515 XA_STATE(xas, &lru->xa, 0); in memcg_list_lru_alloc() 547 xas_store(&xas, mlru); in memcg_list_lru_alloc() 548 if (!xas_error(&xas)) in memcg_list_lru_alloc() [all …]
|
| H A D | swap_state.c | 109 xas_lock_irq(&xas); in add_to_swap_cache() 110 xas_create_range(&xas); in add_to_swap_cache() 111 if (xas_error(&xas)) in add_to_swap_cache() 116 old = xas_load(&xas); in add_to_swap_cache() 120 xas_store(&xas, folio); in add_to_swap_cache() 121 xas_next(&xas); in add_to_swap_cache() 127 xas_unlock_irq(&xas); in add_to_swap_cache() 130 if (!xas_error(&xas)) in add_to_swap_cache() 135 return xas_error(&xas); in add_to_swap_cache() 160 xas_next(&xas); in __delete_from_swap_cache() [all …]
|
| H A D | khugepaged.c | 1869 xas_lock_irq(&xas); in collapse_file() 1871 if (!xas_error(&xas)) in collapse_file() 1873 xas_unlock_irq(&xas); in collapse_file() 1881 xas_set(&xas, index); in collapse_file() 2019 xas_lock_irq(&xas); in collapse_file() 2069 xas_unlock_irq(&xas); in collapse_file() 2121 xas_lock_irq(&xas); in collapse_file() 2173 xas_lock_irq(&xas); in collapse_file() 2203 xas_unlock_irq(&xas); in collapse_file() 2231 xas_lock_irq(&xas); in collapse_file() [all …]
|
| H A D | truncate.c | 29 XA_STATE(xas, &mapping->i_pages, start); in clear_shadow_entries() 36 xas_set_update(&xas, workingset_update_node); in clear_shadow_entries() 39 xas_lock_irq(&xas); in clear_shadow_entries() 42 xas_for_each(&xas, folio, max) { in clear_shadow_entries() 44 xas_store(&xas, NULL); in clear_shadow_entries() 47 xas_unlock_irq(&xas); in clear_shadow_entries() 101 xas_set(&xas, indices[j]); in truncate_folio_batch_exceptionals() 105 xas_lock_irq(&xas); in truncate_folio_batch_exceptionals() 107 xas_for_each(&xas, folio, indices[nr-1]) { in truncate_folio_batch_exceptionals() 109 xas_store(&xas, NULL); in truncate_folio_batch_exceptionals() [all …]
|
| H A D | shmem.c | 499 item = xas_load(&xas); in shmem_replace_entry() 901 xas_lock_irq(&xas); in shmem_add_to_page_cache() 911 if (xas_error(&xas)) in shmem_add_to_page_cache() 916 xas_unlock_irq(&xas); in shmem_add_to_page_cache() 919 if (xas_error(&xas)) { in shmem_add_to_page_cache() 990 xas_pause(&xas); in shmem_partial_swap_usage() 1425 xas_pause(&xas); in shmem_find_swap_entries() 2086 xas_store(&xas, new); in shmem_replace_folio() 2087 xas_next(&xas); in shmem_replace_folio() 2167 xas_lock_irq(&xas); in shmem_split_large_entry() [all …]
|
| /linux-6.15/drivers/infiniband/sw/rxe/ |
| H A D | rxe_mr.c | 106 xas_lock(&xas); in rxe_mr_fill_pages_from_sgt() 116 xas_store(&xas, page); in rxe_mr_fill_pages_from_sgt() 117 if (xas_error(&xas)) in rxe_mr_fill_pages_from_sgt() 119 xas_next(&xas); in rxe_mr_fill_pages_from_sgt() 123 xas_unlock(&xas); in rxe_mr_fill_pages_from_sgt() 126 return xas_error(&xas); in rxe_mr_fill_pages_from_sgt() 168 xas_lock(&xas); in rxe_mr_alloc() 171 if (xas_error(&xas)) in rxe_mr_alloc() 173 xas_next(&xas); in rxe_mr_alloc() 176 xas_unlock(&xas); in rxe_mr_alloc() [all …]
|
| /linux-6.15/drivers/infiniband/core/ |
| H A D | ib_core_uverbs.c | 268 XA_STATE(xas, &ucontext->mmap_xa, min_pgoff); in rdma_user_mmap_entry_insert_range() 294 xas_find_marked(&xas, max_pgoff, XA_FREE_MARK); in rdma_user_mmap_entry_insert_range() 295 if (xas.xa_node == XAS_RESTART) in rdma_user_mmap_entry_insert_range() 298 xa_first = xas.xa_index; in rdma_user_mmap_entry_insert_range() 308 xas_next_entry(&xas, xa_last - 1); in rdma_user_mmap_entry_insert_range() 309 if (xas.xa_node == XAS_BOUNDS || xas.xa_index >= xa_last) in rdma_user_mmap_entry_insert_range()
|
| /linux-6.15/drivers/iommu/iommufd/ |
| H A D | pages.c | 562 xas_lock(&xas); in batch_from_xarray_clear() 570 xas_store(&xas, NULL); in batch_from_xarray_clear() 575 xas_unlock(&xas); in batch_from_xarray_clear() 584 xas_lock(&xas); in clear_xarray() 587 xas_unlock(&xas); in clear_xarray() 600 xas_lock(&xas); in pages_to_xarray() 605 xas_unlock(&xas); in pages_to_xarray() 612 if (xas_error(&xas)) in pages_to_xarray() 616 xas_next(&xas); in pages_to_xarray() 618 xas_unlock(&xas); in pages_to_xarray() [all …]
|
| H A D | main.c | 44 XA_STATE(xas, &ictx->objects, obj->id); in iommufd_object_finalize() 48 old = xas_store(&xas, obj); in iommufd_object_finalize() 57 XA_STATE(xas, &ictx->objects, obj->id); in iommufd_object_abort() 61 old = xas_store(&xas, NULL); in iommufd_object_abort() 124 XA_STATE(xas, &ictx->objects, id); in iommufd_object_remove() 148 obj = xas_load(&xas); in iommufd_object_remove() 170 xas_store(&xas, NULL); in iommufd_object_remove()
|
| /linux-6.15/arch/x86/kernel/cpu/sgx/ |
| H A D | encl.c | 545 xas_lock(&xas); in sgx_encl_may_map() 554 xas_pause(&xas); in sgx_encl_may_map() 555 xas_unlock(&xas); in sgx_encl_may_map() 561 xas_lock(&xas); in sgx_encl_may_map() 564 xas_unlock(&xas); in sgx_encl_may_map() 710 xas_lock(&xas); in sgx_encl_release() 711 xas_for_each(&xas, entry, max_page_index) { in sgx_encl_release() 731 xas_pause(&xas); in sgx_encl_release() 732 xas_unlock(&xas); in sgx_encl_release() 736 xas_lock(&xas); in sgx_encl_release() [all …]
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | fs_counters.c | 115 XA_STATE(xas, &fc_stats->counters, 0); in mlx5_fc_stats_query_all_counters() 123 xas_lock(&xas); in mlx5_fc_stats_query_all_counters() 124 xas_for_each(&xas, counter, U32_MAX) { in mlx5_fc_stats_query_all_counters() 125 if (xas_retry(&xas, counter)) in mlx5_fc_stats_query_all_counters() 133 xas_unlock(&xas); in mlx5_fc_stats_query_all_counters() 135 xas_reset(&xas); in mlx5_fc_stats_query_all_counters() 142 xas_lock(&xas); in mlx5_fc_stats_query_all_counters() 150 xas_unlock(&xas); in mlx5_fc_stats_query_all_counters()
|
| /linux-6.15/fs/netfs/ |
| H A D | iterator.c | 160 XA_STATE(xas, iter->xarray, index); in netfs_limit_xarray() 169 xas_for_each(&xas, folio, ULONG_MAX) { in netfs_limit_xarray() 171 if (xas_retry(&xas, folio)) in netfs_limit_xarray()
|