| /linux-6.15/Documentation/translations/zh_CN/core-api/ |
| H A D | xarray.rst | 68 你可以通过使用xa_cmpxchg()有条件地替换一个索引中的条目。和cmpxchg()一样,它只有在该索 70 目,那么xa_cmpxchg()就成功了。 121 使用xa_store()、xa_cmpxchg()或xa_insert()也将标记该条目为正在分配。与普通的XArray不同,存储 ``NULL`` 135 xa_store(), xa_cmpxchg(), xa_alloc(), xa_reserve()和xa_insert()函数接受一个gfp_t参数,以 172 * xa_cmpxchg()
|
| /linux-6.15/drivers/iommu/iommufd/ |
| H A D | viommu.c | 94 xa_cmpxchg(&viommu->vdevs, vdev->id, vdev, NULL, GFP_KERNEL); in iommufd_vdevice_destroy() 139 curr = xa_cmpxchg(&viommu->vdevs, virt_id, NULL, vdev, GFP_KERNEL); in iommufd_vdevice_alloc_ioctl()
|
| H A D | device.c | 33 xa_cmpxchg(&igroup->ictx->groups, iommu_group_id(igroup->group), igroup, in iommufd_group_release() 565 attach = xa_cmpxchg(&igroup->pasid_attach, pasid, NULL, in iommufd_hw_pagetable_attach()
|
| /linux-6.15/include/linux/ |
| H A D | xarray.h | 692 static inline void *xa_cmpxchg(struct xarray *xa, unsigned long index, in xa_cmpxchg() function 1082 return xa_err(xa_cmpxchg(xa, index, NULL, XA_ZERO_ENTRY, gfp)); in xa_reserve() 1132 xa_cmpxchg(xa, index, XA_ZERO_ENTRY, NULL, 0); in xa_release()
|
| /linux-6.15/lib/ |
| H A D | test_xarray.c | 413 XA_BUG_ON(xa, xa_cmpxchg(xa, 12345678, SIX, FIVE, GFP_KERNEL) != LOTS); in check_cmpxchg() 414 XA_BUG_ON(xa, xa_cmpxchg(xa, 12345678, LOTS, FIVE, GFP_KERNEL) != LOTS); in check_cmpxchg() 415 XA_BUG_ON(xa, xa_cmpxchg(xa, 12345678, FIVE, LOTS, GFP_KERNEL) != FIVE); in check_cmpxchg() 416 XA_BUG_ON(xa, xa_cmpxchg(xa, 5, FIVE, NULL, GFP_KERNEL) != NULL); in check_cmpxchg() 417 XA_BUG_ON(xa, xa_cmpxchg(xa, 5, NULL, FIVE, GFP_KERNEL) != NULL); in check_cmpxchg() 419 XA_BUG_ON(xa, xa_cmpxchg(xa, 5, FIVE, NULL, GFP_KERNEL) != FIVE); in check_cmpxchg() 457 XA_BUG_ON(xa, xa_cmpxchg(xa, 0, FIVE, NULL, GFP_KERNEL) != FIVE); in check_cmpxchg_order() 502 XA_BUG_ON(xa, xa_cmpxchg(xa, 12345678, XA_ZERO_ENTRY, in check_reserve()
|
| /linux-6.15/drivers/infiniband/hw/mlx4/ |
| H A D | cm.c | 352 deleted = xa_cmpxchg(item->xa_rej_tmout, item->rem_pv_cm_id, item, NULL, 0); in rej_tmout_timeout() 388 old = xa_cmpxchg(&sriov->xa_rej_tmout, (unsigned long)rem_pv_cm_id, NULL, item, GFP_KERNEL); in alloc_rej_tmout()
|
| /linux-6.15/drivers/infiniband/core/ |
| H A D | rdma_core.c | 609 old = xa_cmpxchg(&ufile->idr, obj_old->id, obj_old, XA_ZERO_ENTRY, in swap_idr_uobjects() 616 old = xa_cmpxchg(&ufile->idr, obj_old->id, NULL, obj_old, GFP_KERNEL); in swap_idr_uobjects()
|
| H A D | ucma.c | 536 xa_cmpxchg(&ctx_table, uevent->conn_req_ctx->id, in ucma_cleanup_ctx_events() 585 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, XA_ZERO_ENTRY, NULL, in ucma_destroy_private_ctx() 1801 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, ctx, XA_ZERO_ENTRY, in ucma_close()
|
| /linux-6.15/Documentation/core-api/ |
| H A D | xarray.rst | 77 xa_cmpxchg(). Like cmpxchg(), it will only succeed if 80 'old', then xa_cmpxchg() succeeded. 154 Using xa_store(), xa_cmpxchg() or xa_insert() will 173 The xa_store(), xa_cmpxchg(), xa_alloc(), 215 * xa_cmpxchg()
|
| /linux-6.15/drivers/nvme/target/ |
| H A D | passthru.c | 607 old = xa_cmpxchg(&passthru_subsystems, ctrl->instance, NULL, in nvmet_passthru_ctrl_enable()
|
| /linux-6.15/fs/cachefiles/ |
| H A D | ondemand.c | 407 if (xa_cmpxchg(xas->xa, xas->xa_index, req, NULL, 0) != req) in cachefiles_ondemand_finish_req()
|
| /linux-6.15/drivers/dma/idxd/ |
| H A D | cdev.c | 194 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL); in idxd_xa_pasid_remove()
|
| /linux-6.15/drivers/block/rnbd/ |
| H A D | rnbd-srv.c | 219 xa_cmpxchg(&sess_dev->sess->index_idr, sess_dev->device_id, in rnbd_destroy_sess_dev()
|
| /linux-6.15/net/netlink/ |
| H A D | genetlink.c | 756 old_priv = xa_cmpxchg(family->sock_privs, (unsigned long) sk, NULL, in genl_sk_priv_get()
|
| /linux-6.15/drivers/iommu/ |
| H A D | iommu.c | 3533 curr = xa_cmpxchg(&group->pasid_array, pasid, NULL, in iommu_replace_device_pasid()
|
| /linux-6.15/drivers/infiniband/hw/mlx5/ |
| H A D | mr.c | 2101 xa_cmpxchg(&dev->sig_mrs, mlx5_base_mkey(mr->mmkey.key), in __mlx5_ib_dereg_mr()
|
| /linux-6.15/drivers/iommu/amd/ |
| H A D | iommu.c | 2200 curr = xa_cmpxchg(&pdom->iommu_array, iommu->index, in pdom_attach_iommu()
|
| /linux-6.15/drivers/iommu/intel/ |
| H A D | iommu.c | 1413 curr = xa_cmpxchg(&domain->iommu_array, iommu->seq_id, in domain_attach_iommu()
|