| /linux/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/drivers/iommu/iommufd/ |
| H A D | viommu.c | 125 xa_cmpxchg(&viommu->vdevs, vdev->virt_id, vdev, NULL, GFP_KERNEL); in iommufd_vdevice_abort() 221 curr = xa_cmpxchg(&viommu->vdevs, virt_id, NULL, vdev, GFP_KERNEL); in iommufd_vdevice_alloc_ioctl()
|
| /linux/include/linux/ |
| H A D | xarray.h | 692 static inline void *xa_cmpxchg(struct xarray *xa, unsigned long index, in xa_cmpxchg() function 1088 return xa_err(xa_cmpxchg(xa, index, NULL, XA_ZERO_ENTRY, gfp)); in xa_reserve() 1138 xa_cmpxchg(xa, index, XA_ZERO_ENTRY, NULL, 0); in xa_release()
|
| /linux/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/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/drivers/nvme/target/ |
| H A D | passthru.c | 610 old = xa_cmpxchg(&passthru_subsystems, ctrl->instance, NULL, in nvmet_passthru_ctrl_enable()
|
| /linux/drivers/infiniband/core/ |
| H A D | ucma.c | 541 xa_cmpxchg(&ctx_table, uevent->conn_req_ctx->id, in ucma_cleanup_ctx_events() 590 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, XA_ZERO_ENTRY, NULL, in ucma_destroy_private_ctx() 1919 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, ctx, XA_ZERO_ENTRY, in ucma_close()
|
| /linux/fs/cachefiles/ |
| H A D | ondemand.c | 405 if (xa_cmpxchg(xas->xa, xas->xa_index, req, NULL, 0) != req) in cachefiles_ondemand_finish_req()
|
| /linux/drivers/dma/idxd/ |
| H A D | cdev.c | 190 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL); in idxd_xa_pasid_remove()
|
| /linux/drivers/block/rnbd/ |
| H A D | rnbd-srv.c | 227 xa_cmpxchg(&sess_dev->sess->index_idr, sess_dev->device_id, in rnbd_destroy_sess_dev()
|
| /linux/net/core/ |
| H A D | page_pool.c | 519 old = xa_cmpxchg(&pool->dma_mapped, id, page, NULL, 0); in page_pool_release_dma_index()
|
| /linux/net/netlink/ |
| H A D | genetlink.c | 751 old_priv = xa_cmpxchg(family->sock_privs, (unsigned long) sk, NULL, in genl_sk_priv_get()
|
| /linux/drivers/iommu/ |
| H A D | iommu.c | 3720 curr = xa_cmpxchg(&group->pasid_array, pasid, NULL, in iommu_replace_device_pasid()
|
| /linux/drivers/iommu/amd/ |
| H A D | iommu.c | 2291 curr = xa_cmpxchg(&pdom->iommu_array, iommu->index, in pdom_attach_iommu()
|