mbox series

[rdma-next,v1,0/2] IB/mad: Add Flow Control for Solicited MADs

Message ID cover.1736258116.git.leonro@nvidia.com (mailing list archive)
Headers show
Series IB/mad: Add Flow Control for Solicited MADs | expand

Message

Leon Romanovsky Jan. 7, 2025, 2:02 p.m. UTC
From: Leon Romanovsky <leonro@nvidia.com>

Changelog:
v1:
 * 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,

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

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

 drivers/infiniband/core/mad.c      | 415 ++++++++++++++++++++++-------
 drivers/infiniband/core/mad_priv.h |  64 ++++-
 drivers/infiniband/core/mad_rmpp.c |  41 +--
 3 files changed, 410 insertions(+), 110 deletions(-)