Home
last modified time | relevance | path

Searched refs:xa_lock (Results 1 – 25 of 36) sorted by relevance

12

/linux/Documentation/translations/zh_CN/core-api/
H A Dxarray.rst162 内部使用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_lockxa_lock是用来进行lockdep验证的,将来也
252 你需要在修改数组的时候使用xa_lock。在对数组进行只读操作时,你可以选择使用xa_lock或RCU锁。你可以在
267 存在xa_state中供下一次尝试。这个想法是,你拿着xa_lock,尝试操作,然后放弃锁。该操作试图在持有锁的情
295 - 这个条目目前正在被一个拥有xa_lock的线程修改。在这个RCU周期结束时,包含该条目的节点可能会被释放。
[all …]
/linux/include/linux/
H A Dxarray.h301 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 Didr.h102 #define idr_lock(idr) xa_lock(&(idr)->idr_rt)
/linux/tools/testing/radix-tree/
H A Dregression1.c128 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 Dpvr_free_list.h142 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 Dpvr_hwrt.h104 xa_lock(&pvr_file->hwrt_handles); in pvr_hwrt_dataset_lookup()
H A Dpvr_vm.c649 xa_lock(&pvr_file->vm_ctx_handles); in pvr_vm_context_lookup()
/linux/rust/helpers/
H A Dxarray.c22 return xa_lock(xa); in rust_helper_xa_lock()
/linux/drivers/block/
H A Dbrd.c95 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 Damdgpu_ctx.c730 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 Damdgpu_userq.c608 xa_lock(&uq_mgr->userq_xa); in amdgpu_userq_get()
907 xa_lock(&fpriv->userq_mgr.userq_xa); in amdgpu_userq_ioctl()
1315 xa_lock(&userq_mgr->userq_xa); in amdgpu_userq_mgr_fini()
/linux/drivers/iommu/iommufd/
H A Ddevice.c120 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/rust/kernel/
H A Dxarray.rs143 unsafe { bindings::xa_lock(self.xa.get()) }; in lock()
/linux/net/devlink/
H A Dregion.c283 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()
H A Dcore.c221 xa_lock(&devlink_rels); in devlink_rel_devlink_get()
/linux/lib/
H A Dxarray.c329 __must_hold(xas->xa->xa_lock) in __xas_nomem()
1669 xa_lock(xa); in xa_erase()
1733 xa_lock(xa); in xa_store()
2148 xa_lock(xa); in xa_set_mark()
2166 xa_lock(xa); in xa_clear_mark()
/linux/net/shaper/
H A Dshaper.c
/linux/drivers/vfio/
H A Dvfio_main.c88 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 Dcore.c175 xa_lock(&ctxdata->sess_list); in tstee_invoke_func()
/linux/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-iommufd.c287 xa_lock(&vsmmu->core.vdevs); in arm_vsmmu_vsid_to_sid()
/linux/fs/btrfs/
H A Dextent_map.c1212 xa_lock(&root->inodes); in find_first_inode_to_shrink()
1251 xa_lock(&root->inodes); in find_first_inode_to_shrink()
H A Ddelayed-inode.c83 xa_lock(&root->delayed_nodes); in btrfs_get_delayed_node()
165 xa_lock(&root->delayed_nodes); in btrfs_get_or_create_delayed_node()
2065 xa_lock(&root->delayed_nodes); in btrfs_kill_all_delayed_nodes()
/linux/fs/erofs/
H A Dzdata.c779 xa_lock(&sbi->managed_pslots); in z_erofs_register_pcluster()
929 xa_lock(&sbi->managed_pslots); in z_erofs_shrink_scan()
939 xa_lock(&sbi->managed_pslots); in z_erofs_shrink_scan()
/linux/drivers/infiniband/hw/ionic/
H A Dionic_admin.c641 xa_lock(&dev->qp_tbl); in ionic_flush_qs()
655 xa_lock(&dev->cq_tbl); in ionic_flush_qs()
/linux/drivers/infiniband/hw/qedr/
H A Dqedr_iw_cm.c523 xa_lock(&dev->qps); in qedr_iw_load_qp()

12