From: Bob Pearson <rpearsonhpe@gmail.com>
To: jgg@nvidia.com, zyjzyj2000@gmail.com, linux-rdma@vger.kernel.org
Cc: Bob Pearson <rpearsonhpe@gmail.com>
Subject: [PATCH for-next v5 0/8] RDMA/rxe: Correct race conditions
Date: Thu, 2 Dec 2021 17:20:27 -0600 [thread overview]
Message-ID: <20211202232035.62299-1-rpearsonhpe@gmail.com> (raw)
There are several race conditions discovered in the current rdma_rxe
driver. They mostly relate to races between normal operations and
destroying objects. This patch series
- Makes several minor cleanups in rxe_pool.[ch]
- Replaces the red-black trees currently used by xarrays for indices
- Simplifies the API for keyed objects
- Corrects several reference counting errors
- Adds wait for completions to the paths in verbs APIs which destroy
objects.
This patch series applies cleanly to current for-next.
commit 81ff48ddda0b ("Use bitmap_zalloc() when applicable")
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
---
v5
Removed patches already accepted into for-next and addressed comments
from Jason Gunthorpe.
v4
Restructured patch series to change to xarray earlier which
greatly simplified the changes.
Rebased to current for-next
v3
Changed rxe_alloc to use GFP_KERNEL
Addressed other comments by Jason Gunthorp
Merged the previous 06/10 and 07/10 patches into one since they overlapped
Added some minor cleanups as 10/10
v2
Rebased to current for-next.
Added 4 additional patches
Bob Pearson (8):
RDMA/rxe: Replace RB tree by xarray for indexes
RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC
RDMA/rxe: Cleanup pool APIs for keyed objects
RDMA/rxe: Fix ref error in rxe_av.c
RDMA/rxe: Replace mr by rkey in responder resources
RDMA/rxe: Minor cleanups in rxe_pool.c,h
RDMA/rxe: Replace rxe_alloc by kzalloc for rxe_mc_elem
RDMA/rxe: Add wait for completion to obj destruct
drivers/infiniband/sw/rxe/rxe.c | 101 +-----
drivers/infiniband/sw/rxe/rxe_av.c | 19 +-
drivers/infiniband/sw/rxe/rxe_comp.c | 4 +-
drivers/infiniband/sw/rxe/rxe_loc.h | 10 +-
drivers/infiniband/sw/rxe/rxe_mcast.c | 70 ++--
drivers/infiniband/sw/rxe/rxe_mr.c | 3 +-
drivers/infiniband/sw/rxe/rxe_mw.c | 18 +-
drivers/infiniband/sw/rxe/rxe_net.c | 17 +-
drivers/infiniband/sw/rxe/rxe_pool.c | 473 ++++++++++----------------
drivers/infiniband/sw/rxe/rxe_pool.h | 113 ++----
drivers/infiniband/sw/rxe/rxe_qp.c | 10 +-
drivers/infiniband/sw/rxe/rxe_recv.c | 4 +-
drivers/infiniband/sw/rxe/rxe_req.c | 66 ++--
drivers/infiniband/sw/rxe/rxe_resp.c | 131 ++++---
drivers/infiniband/sw/rxe/rxe_verbs.c | 96 ++++--
drivers/infiniband/sw/rxe/rxe_verbs.h | 3 -
16 files changed, 503 insertions(+), 635 deletions(-)
--
2.32.0
next reply other threads:[~2021-12-02 23:21 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-02 23:20 Bob Pearson [this message]
2021-12-02 23:20 ` [PATCH for-next v5 1/8] RDMA/rxe: Replace RB tree by xarray for indexes Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 2/8] RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 3/8] RDMA/rxe: Cleanup pool APIs for keyed objects Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 4/8] RDMA/rxe: Fix ref error in rxe_av.c Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 5/8] RDMA/rxe: Replace mr by rkey in responder resources Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 6/8] RDMA/rxe: Minor cleanups in rxe_pool.c,h Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 7/8] RDMA/rxe: Replace rxe_alloc by kzalloc for rxe_mc_elem Bob Pearson
2021-12-02 23:20 ` [PATCH v5 for-next 8/8] RDMA/rxe: Add wait for completion to obj destruct Bob Pearson
2021-12-03 2:23 ` kernel test robot
2021-12-03 2:23 ` kernel test robot
2021-12-04 3:50 ` kernel test robot
2021-12-04 3:50 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211202232035.62299-1-rpearsonhpe@gmail.com \
--to=rpearsonhpe@gmail.com \
--cc=jgg@nvidia.com \
--cc=linux-rdma@vger.kernel.org \
--cc=zyjzyj2000@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.