RDMA/rxe: Add memory barriers to kernel queues
authorBob Pearson <rpearsonhpe@gmail.com>
Tue, 14 Sep 2021 16:42:03 +0000 (11:42 -0500)
committerJason Gunthorpe <jgg@nvidia.com>
Fri, 24 Sep 2021 13:14:59 +0000 (10:14 -0300)
commitae6e843fe08d0ea8e158815809dcc20e3a1afc22
tree723ed25b8a0edfde968f72ace5f837daf880e61d
parent6bda39149d4b8920fdb8744090653aca3daa792d
RDMA/rxe: Add memory barriers to kernel queues

Earlier patches added memory barriers to protect user space to kernel
space communications. The user space queues were previously shown to have
occasional memory synchonization errors which were removed by adding
smp_load_acquire, smp_store_release barriers.  This patch extends that to
the case where queues are used between kernel space threads.

This patch also extends the queue types to include kernel ULP queues which
access the other end of the queues in kernel verbs calls like poll_cq and
post_send/recv.

Link: https://lore.kernel.org/r/20210914164206.19768-2-rpearsonhpe@gmail.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/sw/rxe/rxe_comp.c
drivers/infiniband/sw/rxe/rxe_cq.c
drivers/infiniband/sw/rxe/rxe_qp.c
drivers/infiniband/sw/rxe/rxe_queue.c
drivers/infiniband/sw/rxe/rxe_queue.h
drivers/infiniband/sw/rxe/rxe_req.c
drivers/infiniband/sw/rxe/rxe_resp.c
drivers/infiniband/sw/rxe/rxe_srq.c
drivers/infiniband/sw/rxe/rxe_verbs.c