Home
last modified time | relevance | path

Searched refs:xa_cmpxchg (Results 1 – 18 of 18) sorted by relevance

/linux-6.15/Documentation/translations/zh_CN/core-api/
H A Dxarray.rst68 你可以通过使用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 Dviommu.c94 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 Ddevice.c33 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 Dxarray.h692 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 Dtest_xarray.c413 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 Dcm.c352 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 Drdma_core.c609 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 Ducma.c536 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 Dxarray.rst77 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 Dpassthru.c607 old = xa_cmpxchg(&passthru_subsystems, ctrl->instance, NULL, in nvmet_passthru_ctrl_enable()
/linux-6.15/fs/cachefiles/
H A Dondemand.c407 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 Dcdev.c194 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 Drnbd-srv.c219 xa_cmpxchg(&sess_dev->sess->index_idr, sess_dev->device_id, in rnbd_destroy_sess_dev()
/linux-6.15/net/netlink/
H A Dgenetlink.c756 old_priv = xa_cmpxchg(family->sock_privs, (unsigned long) sk, NULL, in genl_sk_priv_get()
/linux-6.15/drivers/iommu/
H A Diommu.c3533 curr = xa_cmpxchg(&group->pasid_array, pasid, NULL, in iommu_replace_device_pasid()
/linux-6.15/drivers/infiniband/hw/mlx5/
H A Dmr.c2101 xa_cmpxchg(&dev->sig_mrs, mlx5_base_mkey(mr->mmkey.key), in __mlx5_ib_dereg_mr()
/linux-6.15/drivers/iommu/amd/
H A Diommu.c2200 curr = xa_cmpxchg(&pdom->iommu_array, iommu->index, in pdom_attach_iommu()
/linux-6.15/drivers/iommu/intel/
H A Diommu.c1413 curr = xa_cmpxchg(&domain->iommu_array, iommu->seq_id, in domain_attach_iommu()