| /linux/Documentation/translations/zh_CN/core-api/ |
| H A 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/include/linux/ |
| H A 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 …]
|
| H A D | idr.h | 102 #define idr_lock(idr) xa_lock(&(idr)->idr_rt)
|
| /linux/tools/testing/radix-tree/ |
| H A 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/drivers/gpu/drm/imagination/ |
| H A 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()
|
| H A D | pvr_hwrt.h | 104 xa_lock(&pvr_file->hwrt_handles); in pvr_hwrt_dataset_lookup()
|
| /linux/rust/helpers/ |
| H A D | xarray.c | 22 return xa_lock(xa); in rust_helper_xa_lock()
|
| /linux/arch/arm64/kernel/ |
| H A D | hibernate.c | 246 xa_lock(&mte_pages); in swsusp_mte_free_storage() 303 xa_lock(&mte_pages); in swsusp_mte_restore_tags()
|
| /linux/drivers/iommu/iommufd/ |
| H A D | driver.c | 98 lockdep_assert_held(&viommu->vdevs.xa_lock); in iommufd_viommu_find_dev() 116 xa_lock(&viommu->vdevs); in iommufd_viommu_get_vdev_id()
|
| H A D | device.c | 120 xa_lock(&ictx->groups); in iommufd_get_group() 140 xa_lock(&ictx->groups); in iommufd_get_group() 377 xa_lock(&ictx->objects); in iommufd_ctx_has_group() 1385 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap() 1395 xa_lock(&ioas->iopt.access_list); in iommufd_access_notify_unmap()
|
| /linux/drivers/block/ |
| H A D | brd.c | 95 xa_lock(&brd->brd_pages); in brd_insert_page() 190 xa_lock(&brd->brd_pages); in brd_do_discard()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_ctx.c | 730 xa_lock(&mgr->ctx_handles); in amdgpu_ctx_get() 883 xa_lock(&mgr->ctx_handles); in amdgpu_ctx_mgr_entity_flush() 899 xa_lock(&mgr->ctx_handles); in amdgpu_ctx_mgr_entity_flush() 933 xa_lock(&mgr->ctx_handles); in amdgpu_ctx_mgr_usage()
|
| H A D | amdgpu_userq.c | 614 xa_lock(&uq_mgr->userq_xa); in amdgpu_userq_put() 919 xa_lock(&fpriv->userq_mgr.userq_xa); in amdgpu_userq_ioctl() 1349 xa_lock(&userq_mgr->userq_xa); in amdgpu_userq_mgr_fini()
|
| /linux/drivers/infiniband/core/ |
| H A D | ucma.c | 145 xa_lock(&ctx_table); in ucma_get_ctx() 367 xa_lock(&ctx_table); in ucma_event_handler() 498 xa_lock(&multicast_table); in ucma_cleanup_multicast() 611 xa_lock(&ctx_table); in ucma_destroy_id() 1546 xa_lock(&multicast_table); in ucma_process_join() 1582 xa_lock(&multicast_table); in ucma_process_join() 1646 xa_lock(&multicast_table); in ucma_leave_multicast() 1716 xa_lock(&ctx_table); in ucma_migrate_id()
|
| /linux/drivers/infiniband/hw/bnxt_re/ |
| H A D | uapi.c | 300 xa_lock(&uctx->cq_xa); in UVERBS_HANDLER() 316 xa_lock(&uctx->srq_xa); in UVERBS_HANDLER()
|
| /linux/rust/kernel/ |
| H A D | xarray.rs | 143 unsafe { bindings::xa_lock(self.xa.get()) }; in lock()
|
| /linux/net/devlink/ |
| H A D | region.c | 283 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_increment() 325 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_decrement() 367 xa_lock(&devlink->snapshot_ids); in __devlink_snapshot_id_insert()
|
| /linux/lib/ |
| H A D | xarray.c | 329 __must_hold(xas->xa->xa_lock) in __xas_nomem() 1672 xa_lock(xa); in xa_erase() 1736 xa_lock(xa); in xa_store() 2151 xa_lock(xa); in xa_set_mark() 2169 xa_lock(xa); in xa_clear_mark()
|
| /linux/net/shaper/ |
| H A D | shaper.c | |
| /linux/drivers/vfio/ |
| H A D | vfio_main.c | 88 xa_lock(&vfio_device_set_xa); in vfio_assign_device_set() 101 xa_lock(&vfio_device_set_xa); in vfio_assign_device_set() 137 xa_lock(&vfio_device_set_xa); in vfio_release_device_set()
|
| /linux/drivers/tee/tstee/ |
| H A D | core.c | 175 xa_lock(&ctxdata->sess_list); in tstee_invoke_func()
|
| /linux/drivers/iommu/arm/arm-smmu-v3/ |
| H A D | arm-smmu-v3-iommufd.c | 287 xa_lock(&vsmmu->core.vdevs); in arm_vsmmu_vsid_to_sid()
|
| /linux/mm/ |
| H A D | workingset.c | 636 lockdep_assert_held(&node->array->xa_lock); in workingset_update_node()
|
| /linux/fs/btrfs/ |
| H A D | extent_map.c | 1212 xa_lock(&root->inodes); in find_first_inode_to_shrink() 1251 xa_lock(&root->inodes); in find_first_inode_to_shrink()
|
| /linux/drivers/net/ethernet/netronome/nfp/crypto/ |
| H A D | ipsec.c | 626 xa_lock(&nn->xa_ipsec); in nfp_net_ipsec_rx()
|