Home
last modified time | relevance | path

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

/linux-6.12.1/Documentation/translations/zh_CN/core-api/
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.12.1/include/linux/
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.12.1/lib/
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.12.1/drivers/infiniband/hw/mlx4/
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.12.1/drivers/infiniband/core/
Drdma_core.c608 old = xa_cmpxchg(&ufile->idr, obj_old->id, obj_old, XA_ZERO_ENTRY, in swap_idr_uobjects()
615 old = xa_cmpxchg(&ufile->idr, obj_old->id, NULL, obj_old, GFP_KERNEL); in swap_idr_uobjects()
Ducma.c534 xa_cmpxchg(&ctx_table, uevent->conn_req_ctx->id, in ucma_cleanup_ctx_events()
583 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, XA_ZERO_ENTRY, NULL, in ucma_destroy_private_ctx()
1806 WARN_ON(xa_cmpxchg(&ctx_table, ctx->id, ctx, XA_ZERO_ENTRY, in ucma_close()
/linux-6.12.1/Documentation/core-api/
Dxarray.rst75 xa_cmpxchg(). Like cmpxchg(), it will only succeed if
78 'old', then xa_cmpxchg() succeeded.
152 Using xa_store(), xa_cmpxchg() or xa_insert() will
171 The xa_store(), xa_cmpxchg(), xa_alloc(),
213 * xa_cmpxchg()
/linux-6.12.1/drivers/nvme/target/
Dpassthru.c603 old = xa_cmpxchg(&passthru_subsystems, ctrl->instance, NULL, in nvmet_passthru_ctrl_enable()
/linux-6.12.1/drivers/dma/idxd/
Dcdev.c197 ptr = xa_cmpxchg(&wq->upasid_xa, ctx->pasid, ctx, NULL, GFP_KERNEL); in idxd_xa_pasid_remove()
/linux-6.12.1/fs/cachefiles/
Dondemand.c388 if (xa_cmpxchg(xas->xa, xas->xa_index, req, NULL, 0) != req) in cachefiles_ondemand_finish_req()
/linux-6.12.1/drivers/block/rnbd/
Drnbd-srv.c219 xa_cmpxchg(&sess_dev->sess->index_idr, sess_dev->device_id, in rnbd_destroy_sess_dev()
/linux-6.12.1/drivers/iommu/iommufd/
Ddevice.c27 xa_cmpxchg(&igroup->ictx->groups, iommu_group_id(igroup->group), igroup, in iommufd_group_release()
/linux-6.12.1/mm/
Dzswap.c1045 if (entry != xa_cmpxchg(tree, offset, entry, NULL, GFP_KERNEL)) { in zswap_writeback_entry()
/linux-6.12.1/net/netlink/
Dgenetlink.c756 old_priv = xa_cmpxchg(family->sock_privs, (unsigned long) sk, NULL, in genl_sk_priv_get()
/linux-6.12.1/drivers/infiniband/hw/mlx5/
Dmr.c2064 xa_cmpxchg(&dev->sig_mrs, mlx5_base_mkey(mr->mmkey.key), in __mlx5_ib_dereg_mr()
/linux-6.12.1/drivers/iommu/intel/
Diommu.c1511 curr = xa_cmpxchg(&domain->iommu_array, iommu->seq_id, in domain_attach_iommu()