mbox series

[rdma-next,0/3] Add Flow Control for Solicited MADs

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

Message

Leon Romanovsky Dec. 3, 2024, 1:52 p.m. UTC
From: Leon Romanovsky <leonro@nvidia.com>

From Or:

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

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: Replace MAD's refcount with 'state' for readability
Patch #2: Remove unnecessary done list by utilizing MAD states
Patch #3: 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 (3):
  IB/mad: Replace MAD's refcount with a state machine
  IB/mad: Remove unnecessary done list by utilizing MAD states
  IB/mad: Add flow control for solicited MADs

 drivers/infiniband/core/mad.c      | 212 +++++++++++++++++++++++++----
 drivers/infiniband/core/mad_priv.h |  19 ++-
 drivers/infiniband/core/mad_rmpp.c |   7 +-
 3 files changed, 202 insertions(+), 36 deletions(-)