/linux-6.12.1/Documentation/translations/zh_CN/core-api/ |
D | xarray.rst | 162 内部使用xa_lock: 186 假设进入时持有xa_lock: 195 如果你想利用锁来保护你存储在XArray中的数据结构,你可以在调用xa_load()之前调用xa_lock(),然后在 225 xa_lock(&foo->array); 234 上面的例子还显示了一个常见的模式,即希望在存储端扩展xa_lock的覆盖范围,以保护与数组相关的一些统计 238 在进程上下文中使用xa_lock_irq(),在中断处理程序中使用xa_lock()。一些更常见的模式有一些辅助函数, 242 意味着你有权使用像__xa_erase()这样的函数而不占用xa_lock;xa_lock是用来进行lockdep验证的,将来也 252 你需要在修改数组的时候使用xa_lock。在对数组进行只读操作时,你可以选择使用xa_lock或RCU锁。你可以在 267 存在xa_state中供下一次尝试。这个想法是,你拿着xa_lock,尝试操作,然后放弃锁。该操作试图在持有锁的情 295 - 这个条目目前正在被一个拥有xa_lock的线程修改。在这个RCU周期结束时,包含该条目的节点可能会被释放。 [all …]
|
/linux-6.12.1/include/linux/ |
D | xarray.h | 301 spinlock_t xa_lock; member 308 .xa_lock = __SPIN_LOCK_UNLOCKED(name.xa_lock), \ 384 spin_lock_init(&xa->xa_lock); in xa_init_flags() 535 #define xa_trylock(xa) spin_trylock(&(xa)->xa_lock) 536 #define xa_lock(xa) spin_lock(&(xa)->xa_lock) macro 537 #define xa_unlock(xa) spin_unlock(&(xa)->xa_lock) 538 #define xa_lock_bh(xa) spin_lock_bh(&(xa)->xa_lock) 539 #define xa_unlock_bh(xa) spin_unlock_bh(&(xa)->xa_lock) 540 #define xa_lock_irq(xa) spin_lock_irq(&(xa)->xa_lock) 541 #define xa_unlock_irq(xa) spin_unlock_irq(&(xa)->xa_lock) [all …]
|
D | idr.h | 101 #define idr_lock(idr) xa_lock(&(idr)->idr_rt)
|
D | backing-dev.h | 253 !lockdep_is_held(&inode->i_mapping->i_pages.xa_lock) && in inode_to_wb()
|
/linux-6.12.1/tools/testing/radix-tree/ |
D | regression1.c | 128 xa_lock(&mt_tree); in regression1_fn() 133 xa_lock(&mt_tree); in regression1_fn() 137 xa_lock(&mt_tree); in regression1_fn() 145 xa_lock(&mt_tree); in regression1_fn()
|
/linux-6.12.1/drivers/infiniband/core/ |
D | ib_core_uverbs.c | 125 xa_lock(&ucontext->mmap_xa); in rdma_user_mmap_entry_get_pgoff() 190 xa_lock(&ucontext->mmap_xa); in rdma_user_mmap_entry_free() 235 xa_lock(&entry->ucontext->mmap_xa); in rdma_user_mmap_entry_remove() 287 xa_lock(&ucontext->mmap_xa); in rdma_user_mmap_entry_insert_range()
|
D | restrack.c | 72 xa_lock(&rt->xa); in rdma_restrack_count() 249 xa_lock(&rt->xa); in rdma_restrack_get_byid()
|
D | counters.c | 290 xa_lock(&rt->xa); in rdma_get_counter_auto_mode() 402 xa_lock(&rt->xa); in get_running_counters_hwstat_sum() 417 xa_lock(&rt->xa); in get_running_counters_hwstat_sum()
|
D | ucma.c | 143 xa_lock(&ctx_table); in ucma_get_ctx() 360 xa_lock(&ctx_table); in ucma_event_handler() 491 xa_lock(&multicast_table); in ucma_cleanup_multicast() 604 xa_lock(&ctx_table); in ucma_destroy_id() 1474 xa_lock(&multicast_table); in ucma_process_join() 1509 xa_lock(&multicast_table); in ucma_process_join() 1573 xa_lock(&multicast_table); in ucma_leave_multicast() 1648 xa_lock(&ctx_table); in ucma_migrate_id()
|
/linux-6.12.1/drivers/gpu/drm/imagination/ |
D | pvr_free_list.h | 142 xa_lock(&pvr_file->free_list_handles); in pvr_free_list_lookup() 165 xa_lock(&pvr_dev->free_list_ids); in pvr_free_list_lookup_id()
|
D | pvr_context.h | 164 xa_lock(&pvr_file->ctx_handles); in pvr_context_lookup() 188 xa_lock(&pvr_dev->ctx_ids); in pvr_context_lookup_id()
|
D | pvr_hwrt.h | 104 xa_lock(&pvr_file->hwrt_handles); in pvr_hwrt_dataset_lookup()
|
/linux-6.12.1/drivers/iommu/iommufd/ |
D | vfio_compat.c | 19 xa_lock(&ictx->objects); in get_compat_ioas() 59 xa_lock(&ictx->objects); in iommufd_vfio_compat_set_no_iommu() 89 xa_lock(&ictx->objects); in iommufd_vfio_compat_ioas_create() 143 xa_lock(&ucmd->ictx->objects); in iommufd_vfio_ioas() 150 xa_lock(&ucmd->ictx->objects); in iommufd_vfio_ioas()
|
D | device.c | 75 xa_lock(&ictx->groups); in iommufd_get_group() 108 xa_lock(&ictx->groups); in iommufd_get_group() 255 xa_lock(&ictx->objects); in iommufd_ctx_has_group() 937 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap() 946 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
|
D | main.c | 115 xa_lock(&ictx->objects); in iommufd_get_object() 173 xa_lock(&ictx->objects); in iommufd_object_remove()
|
/linux-6.12.1/Documentation/core-api/ |
D | xarray.rst | 203 Takes xa_lock internally: 227 Assumes xa_lock held on entry: 237 that you are storing in the XArray, you can call xa_lock() 272 xa_lock(&foo->array); 283 coverage of the xa_lock on the store side to protect some statistics 288 context, or xa_lock_irq() in process context and xa_lock() 297 the xa_lock; the xa_lock is used for lockdep validation and will be used 311 to use the xa_lock while modifying the array. You can choose whether 312 to use the xa_lock or the RCU lock while doing read-only operations on 340 the xa_lock, attempt the operation and drop the lock. The operation [all …]
|
/linux-6.12.1/fs/cachefiles/ |
D | ondemand.c | 34 xa_lock(&cache->reqs); in cachefiles_ondemand_fd_release() 112 xa_lock(&cache->reqs); in cachefiles_ondemand_fd_ioctl() 173 xa_lock(&cache->reqs); in cachefiles_ondemand_copen() 406 xa_lock(&cache->reqs); in cachefiles_ondemand_daemon_read() 699 xa_lock(&cache->reqs); in cachefiles_ondemand_clean_object()
|
/linux-6.12.1/drivers/accel/ivpu/ |
D | ivpu_sysfs.c | 31 xa_lock(&vdev->submitted_jobs_xa); in npu_busy_time_us_show()
|
/linux-6.12.1/fs/erofs/ |
D | zutil.c | 264 xa_lock(&sbi->managed_pslots); in erofs_insert_workgroup() 340 xa_lock(&sbi->managed_pslots); in erofs_shrink_workstation() 350 xa_lock(&sbi->managed_pslots); in erofs_shrink_workstation()
|
/linux-6.12.1/arch/arm64/kernel/ |
D | hibernate.c | 246 xa_lock(&mte_pages); in swsusp_mte_free_storage() 297 xa_lock(&mte_pages); in swsusp_mte_restore_tags()
|
/linux-6.12.1/arch/arm64/mm/ |
D | mteswap.c | 86 xa_lock(&mte_pages); in mte_invalidate_tags_area()
|
/linux-6.12.1/drivers/block/ |
D | brd.c | 71 xa_lock(&brd->brd_pages); in brd_insert_page() 231 xa_lock(&brd->brd_pages); in brd_do_discard()
|
/linux-6.12.1/drivers/infiniband/hw/mlx4/ |
D | cm.c | 366 xa_lock(&sriov->xa_rej_tmout); in alloc_rej_tmout() 411 xa_lock(&sriov->xa_rej_tmout); in lookup_rej_tmout_slave() 501 xa_lock(&sriov->xa_rej_tmout); in rej_tmout_xa_cleanup()
|
/linux-6.12.1/lib/ |
D | xarray.c | 327 __must_hold(xas->xa->xa_lock) in __xas_nomem() 1531 xa_lock(xa); in xa_erase() 1595 xa_lock(xa); in xa_store() 2005 xa_lock(xa); in xa_set_mark() 2023 xa_lock(xa); in xa_clear_mark()
|
/linux-6.12.1/net/devlink/ |
D | region.c | 285 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_increment() 327 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_decrement() 369 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_insert()
|