linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Bob Pearson <rpearsonhpe@gmail.com>
To: jgg@nvidia.com, zyjzyj2000@gmail.com, linux-rdma@vger.kernel.org,
	bvanassche@acm.org
Cc: Bob Pearson <rpearsonhpe@gmail.com>
Subject: [PATCH for-next 0/5] RDMA/rxe: Various bug fixes.
Date: Wed,  8 Sep 2021 00:29:23 -0500	[thread overview]
Message-ID: <20210908052928.17375-1-rpearsonhpe@gmail.com> (raw)

Currently some blktest test cases fail to execute correctly.
This series of patches allows these test cases to pass and implements
some other related changes.

The first patch is a repeat of an earlier patch after rebasing to
for-next version 5.14.0-rc6+. It adds memory barriers to kernel
to kernel queues. The logic for this is the same as an earlier patch
that only treated user to kernel queues. Without this patch kernel to
kernel queues are expected to intermittently fail at low frequency.

The second patch is also a repeat after rebasing to for-next version
5.14.0-rc6+. It fixes a multicast bug.

The third patch separates the keys in rxe_mr and ib_mr. This allows the
sequence

	do {
		ib_post_send( IB_WR_LOCAL_INV )
		ib_update_fast_reg_key()
		ib_map_mr_sg()
		ib_post_send( IB_WR_REG_MR )
	} while ( !done )

to operate correctly since now the changes to the local copy of the keys
only happens at the final post_send. The same fix is applied to MWs
since they need to synchronize with IB_WR_BIND_MW work requests.

The fourth patch creates duplicate mapping tables for fast MRs. This
prevents rkeys referencing fast MRs from accessing data from an updated
map after the call to ib_map_mr_sg() call by keeping the new and old
mappings separate.

The final patch cleans up the state and type enums used by MRs.

Bob Pearson (5):
  RDMA/rxe: Add memory barriers to kernel queues
  RDMA/rxe: Fix memory allocation while locked
  RDMA/rxe: Separate HW and SW l/rkeys
  RDMA/rxe: Create duplicate mapping tables for FMRs
  RDMA/rxe: Cleanup MR status and type enums

 drivers/infiniband/sw/rxe/rxe_comp.c  |  10 +-
 drivers/infiniband/sw/rxe/rxe_cq.c    |  25 +--
 drivers/infiniband/sw/rxe/rxe_loc.h   |   2 +
 drivers/infiniband/sw/rxe/rxe_mcast.c |   2 +-
 drivers/infiniband/sw/rxe/rxe_mr.c    | 269 +++++++++++++++++++-------
 drivers/infiniband/sw/rxe/rxe_mw.c    |  36 ++--
 drivers/infiniband/sw/rxe/rxe_qp.c    |  10 +-
 drivers/infiniband/sw/rxe/rxe_queue.h |  73 ++-----
 drivers/infiniband/sw/rxe/rxe_req.c   |  35 +---
 drivers/infiniband/sw/rxe/rxe_resp.c  |  38 +---
 drivers/infiniband/sw/rxe/rxe_srq.c   |   2 +-
 drivers/infiniband/sw/rxe/rxe_verbs.c |  92 +++------
 drivers/infiniband/sw/rxe/rxe_verbs.h |  48 ++---
 13 files changed, 307 insertions(+), 335 deletions(-)

-- 
2.30.2


             reply	other threads:[~2021-09-08  5:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-08  5:29 Bob Pearson [this message]
2021-09-08  5:29 ` [PATCH for-next v2 1/5] RDMA/rxe: Add memory barriers to kernel queues Bob Pearson
2021-09-08  5:29 ` [PATCH for-next v2 2/5] RDMA/rxe: Fix memory allocation while locked Bob Pearson
2021-09-08  5:29 ` [PATCH for-next 3/5] RDMA/rxe: Separate HW and SW l/rkeys Bob Pearson
2021-09-08  5:29 ` [PATCH for-next 4/5] RDMA/rxe: Create duplicate mapping tables for FMRs Bob Pearson
2021-09-08  5:29 ` [PATCH for-next 5/5] RDMA/rxe: Cleanup MR status and type enums Bob Pearson
2021-09-09  3:52 ` [PATCH for-next 0/5] RDMA/rxe: Various bug fixes Bart Van Assche
2021-09-09 20:58   ` Bob Pearson

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=20210908052928.17375-1-rpearsonhpe@gmail.com \
    --to=rpearsonhpe@gmail.com \
    --cc=bvanassche@acm.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).