Lines Matching +full:0 +full:xa
21 * Return: 0 on success
34 for (i = 0; i < RDMA_RESTRACK_MAX; i++) in rdma_restrack_init()
35 xa_init_flags(&rt[i].xa, XA_FLAGS_ALLOC); in rdma_restrack_init()
37 return 0; in rdma_restrack_init()
68 for (i = 0 ; i < RDMA_RESTRACK_MAX; i++) { in rdma_restrack_clean()
69 struct xarray *xa = &dev->res[i].xa; in rdma_restrack_clean() local
71 if (!xa_empty(xa)) { in rdma_restrack_clean()
78 xa_for_each(xa, index, e) { in rdma_restrack_clean()
98 xa_destroy(xa); in rdma_restrack_clean()
115 XA_STATE(xas, &rt->xa, 0); in rdma_restrack_count()
116 u32 cnt = 0; in rdma_restrack_count()
118 xa_lock(&rt->xa); in rdma_restrack_count()
121 xa_unlock(&rt->xa); in rdma_restrack_count()
235 ret = xa_insert(&rt->xa, qp->qp_num, res, GFP_KERNEL); in rdma_restrack_add()
236 res->id = ret ? 0 : qp->qp_num; in rdma_restrack_add()
242 ret = xa_insert(&rt->xa, counter->id, res, GFP_KERNEL); in rdma_restrack_add()
243 res->id = ret ? 0 : counter->id; in rdma_restrack_add()
245 ret = xa_alloc_cyclic(&rt->xa, &res->id, res, xa_limit_32b, in rdma_restrack_add()
275 xa_lock(&rt->xa); in rdma_restrack_get_byid()
276 res = xa_load(&rt->xa, id); in rdma_restrack_get_byid()
279 xa_unlock(&rt->xa); in rdma_restrack_get_byid()
327 old = xa_erase(&rt->xa, res->id); in rdma_restrack_del()