]> git.baikalelectronics.ru Git - kernel.git/commit
RDMA/rxe: Add memory barriers to kernel queues
authorBob Pearson <rpearsonhpe@gmail.com>
Tue, 14 Sep 2021 16:42:03 +0000 (11:42 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:59 +0000 (14:23 +0200)
commit3b8d87cf6923eca5ad0ef685c61b4f809ba6f925
tree1a1fc3520d23c0a0fda75f076ece072e380fa5b9
parent670a6c84eaebbc0f0a27e4c95d900cd68da747fd
RDMA/rxe: Add memory barriers to kernel queues

[ Upstream commit 76f0c32b4fc22f5fbebec2fc17eb9c804451fbd7 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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