linux/drivers/infiniband/sw/rxe
Bob Pearson 3225717f6d RDMA/rxe: Replace red-black trees by xarrays
Currently the rxe driver uses red-black trees to add indices to the rxe
object pools. Linux xarrays provide a better way to implement the same
functionality for indices. This patch replaces red-black trees by xarrays
for pool objects. Since xarrays already have a spinlock use that in place
of the pool rwlock. Make sure that all changes in the xarray(index) and
kref(ref counnt) occur atomically.

Link: https://lore.kernel.org/r/20220304000808.225811-9-rpearsonhpe@gmail.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2022-03-16 10:34:42 -03:00
..
Kconfig RDMA/rxe: Fix missing kconfig dependency on CRYPTO 2021-03-01 14:46:31 -04:00
Makefile RDMA/rxe: Delete deprecated module parameters interface 2022-01-05 15:18:47 -04:00
rxe_av.c RDMA/rxe: Fix ref error in rxe_av.c 2022-03-15 20:49:56 -03:00
rxe_comp.c RDMA/rxe: Replace irqsave locks with bh locks 2021-11-19 13:29:14 -04:00
rxe_cq.c RDMA/rxe: Revert changes from irqsave to bh locks 2022-02-16 11:51:28 -04:00
rxe_hdr.h RDMA/rxe: Remove unused pkt->offset 2021-02-16 14:42:59 -04:00
rxe_hw_counters.c RDMA/counter: Add a descriptor in struct rdma_hw_stats 2021-10-12 12:48:04 -03:00
rxe_hw_counters.h RDMA: Split the alloc_hw_stats() ops to port and device variants 2021-06-16 20:58:29 -03:00
rxe_icrc.c RDMA/rxe: Fix types in rxe_icrc.c 2021-07-16 12:43:35 -03:00
rxe_loc.h RDMA/rxe: Fix ref error in rxe_av.c 2022-03-15 20:49:56 -03:00
rxe_mcast.c RDMA/rxe: Cleanup rxe_mcast.c 2022-02-23 20:29:15 -04:00
rxe_mmap.c RDMA/rxe: Delete useless module.h include 2022-01-28 13:03:13 -04:00
rxe_mr.c RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe_mw.c RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe_net.c RDMA/rxe: Fix ref error in rxe_av.c 2022-03-15 20:49:56 -03:00
rxe_net.h RDMA/rxe: Add SPDX hdrs to rxe source files 2020-08-31 12:20:02 -03:00
rxe_opcode.c RDMA/rxe: Fix indentations and operators sytle 2022-01-05 15:17:13 -04:00
rxe_opcode.h RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK 2021-09-28 11:42:24 -03:00
rxe_param.h RDMA/rxe: Change AH objects to indexed 2021-10-12 13:25:26 -03:00
rxe_pool.c RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe_pool.h RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe_qp.c RDMA/rxe: Replace mr by rkey in responder resources 2022-03-15 20:49:56 -03:00
rxe_queue.c RDMA/rxe: Revert changes from irqsave to bh locks 2022-02-16 11:51:28 -04:00
rxe_queue.h RDMA/rxe: Add memory barriers to kernel queues 2021-09-24 10:14:59 -03:00
rxe_recv.c RDMA/rxe: Remove mcg from rxe pools 2022-02-16 12:11:29 -04:00
rxe_req.c RDMA/rxe: Fix ref error in rxe_av.c 2022-03-15 20:49:56 -03:00
rxe_resp.c RDMA/rxe: Replace mr by rkey in responder resources 2022-03-15 20:49:56 -03:00
rxe_srq.c RDMA/rxe: Cleanup rxe_pool_entry 2021-11-19 13:29:14 -04:00
rxe_task.c RDMA/rxe: Replace irqsave locks with bh locks 2021-11-19 13:29:14 -04:00
rxe_task.h RDMA/rxe: Convert tasklets to use new tasklet_setup() API 2020-09-03 12:01:53 -03:00
rxe_verbs.c RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe_verbs.h RDMA/rxe: Replace mr by rkey in responder resources 2022-03-15 20:49:56 -03:00
rxe.c RDMA/rxe: Replace red-black trees by xarrays 2022-03-16 10:34:42 -03:00
rxe.h RDMA/rxe: Delete useless module.h include 2022-01-28 13:03:13 -04:00