public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Leon Romanovsky <leon@kernel.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org,
	Maher Sanalla <msanalla@nvidia.com>,
	Or Har-Toov <ohartoov@nvidia.com>, Sean Hefty <shefty@nvidia.com>,
	Vlad Dumitrescu <vdumitrescu@nvidia.com>
Subject: [PATCH rdma-next v2 0/3] IB/mad: Add Flow Control for Solicited MADs
Date: Mon, 30 Jun 2025 13:16:41 +0300	[thread overview]
Message-ID: <cover.1751278420.git.leon@kernel.org> (raw)

Changelog:
v2:
 * Add separate send-only agent for REPs to prevent starvation
   of REPs when runnning both service and client on the same node.
 * Instead of immediately resending a timed-out MAD, it will now   be
 * placed in backlog queue if the queue is not empty.
v1: https://lore.kernel.org/all/cover.1736258116.git.leonro@nvidia.com
 * Add a cancel state to the state machine which allows removing the
 * status field in MAD's struct.
 * Add change_mad_state function which handles all the state transition.
 * Add WARN_ONs to check MAD states
 * Reorganize patches to have only two patches in this series instead of
 * three.
v0: https://lore.kernel.org/all/cover.1733233636.git.leonro@nvidia.com

--------------------------------------------------------------------------
From Or and Vlad

This patch series introduces flow control for solicited MADs in
the MAD layer, addressing the need to avoid loss caused by insufficient
resources at the receiver side.

Both the client and the server act as receivers - the latter receives
requests, while the former receives responses.
To facilitate this flow control, the series also refactors the MAD code,
improving readability and enabling more straightforward implementation.

Patch #1: Add state machine to MAD layer
Patch #2: Add flow control for solicited MADs
Patch #3: Use separate send-only agent for REPs

The primary goal of this series is to add a flow control mechanism
to the MAD layer, reducing the number of timeouts.
The accompanying refactoring simplifies state management, making
the code more maintainable and supporting the new flow control
logic effectively.

Thanks

Or Har-Toov (2):
  IB/mad: Add state machine to MAD layer
  IB/mad: Add flow control for solicited MADs

Vlad Dumitrescu (1):
  IB/cm: Use separate agent w/o flow control for REP

 drivers/infiniband/core/cm.c       |  47 ++-
 drivers/infiniband/core/mad.c      | 468 ++++++++++++++++++++++-------
 drivers/infiniband/core/mad_priv.h |  76 ++++-
 drivers/infiniband/core/mad_rmpp.c |  41 +--
 4 files changed, 500 insertions(+), 132 deletions(-)

-- 
2.50.0


             reply	other threads:[~2025-06-30 10:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-30 10:16 Leon Romanovsky [this message]
2025-06-30 10:16 ` [PATCH rdma-next v2 1/3] IB/mad: Add state machine to MAD layer Leon Romanovsky
2025-06-30 10:16 ` [PATCH rdma-next v2 2/3] IB/mad: Add flow control for solicited MADs Leon Romanovsky
2025-06-30 10:16 ` [PATCH rdma-next v2 3/3] IB/cm: Use separate agent w/o flow control for REP Leon Romanovsky
2025-07-09  6:51 ` [PATCH rdma-next v2 0/3] IB/mad: Add Flow Control for Solicited MADs Leon Romanovsky

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=cover.1751278420.git.leon@kernel.org \
    --to=leon@kernel.org \
    --cc=jgg@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=msanalla@nvidia.com \
    --cc=ohartoov@nvidia.com \
    --cc=shefty@nvidia.com \
    --cc=vdumitrescu@nvidia.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