linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rdma-next 0/4] Provide more error details when a QP moves to
@ 2022-09-07 11:37 Patrisious Haddad
  2022-09-07 11:37 ` [PATCH rdma-next 1/4] net/mlx5: Introduce CQE error syndrome Patrisious Haddad
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Patrisious Haddad @ 2022-09-07 11:37 UTC (permalink / raw)
  To: Sagi Grimberg, Christoph Hellwig
  Cc: Patrisious Haddad, Leon Romanovsky, Linux-nvme, linux-rdma,
	Michael Guralnik, Israel Rukshin, Maor Gottlieb, Max Gurtovoy

The following series adds debug prints for fatal QP events that are
helpful for finding the root cause of the errors.
The ib_get_qp_err_syndrome is called at a work queue since the QP event callback is
running on an interrupt context that can't sleep.

The functions is especially useful for debugging purposes for few
reasons:
First of all it provides the information in a human readable way, that
would make it easier to identify the bug root cause.
Secondly it also allows providing vendor specfic error codes or information
that could be very useful to users who know them.
Lastly and most importantly the function provides information about the
reason the QP moved to error state, in cases where CQE isn't generated
and without this feature it would have been way harder to know the root cause
of the error.

An example of such case would be a remote write with RKEY violation,
whereas on the remote side no CQE would be generated but this print
allows to know the reason behind the failure.

Thanks.

Israel Rukshin (1):
  nvme-rdma: add more error details when a QP moves to an error state

Patrisious Haddad (3):
  net/mlx5: Introduce CQE error syndrome
  RDMA/core: Introduce ib_get_qp_err_syndrome function
  RDMA/mlx5: Implement ib_get_qp_err_syndrome

 drivers/infiniband/core/device.c     |  1 +
 drivers/infiniband/core/verbs.c      |  8 +++++
 drivers/infiniband/hw/mlx5/main.c    |  1 +
 drivers/infiniband/hw/mlx5/mlx5_ib.h |  1 +
 drivers/infiniband/hw/mlx5/qp.c      | 42 ++++++++++++++++++++++++-
 drivers/infiniband/hw/mlx5/qp.h      |  2 +-
 drivers/infiniband/hw/mlx5/qpc.c     |  4 ++-
 drivers/nvme/host/rdma.c             | 24 ++++++++++++++
 include/linux/mlx5/mlx5_ifc.h        | 47 +++++++++++++++++++++++++---
 include/rdma/ib_verbs.h              | 13 ++++++++
 10 files changed, 135 insertions(+), 8 deletions(-)

-- 
2.18.1


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-11-02  1:56 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-07 11:37 [PATCH rdma-next 0/4] Provide more error details when a QP moves to Patrisious Haddad
2022-09-07 11:37 ` [PATCH rdma-next 1/4] net/mlx5: Introduce CQE error syndrome Patrisious Haddad
2022-09-07 11:37 ` [PATCH rdma-next 2/4] RDMA/core: Introduce ib_get_qp_err_syndrome function Patrisious Haddad
2022-09-07 11:37 ` [PATCH rdma-next 3/4] RDMA/mlx5: Implement ib_get_qp_err_syndrome Patrisious Haddad
2022-09-07 11:38 ` [PATCH rdma-next 4/4] nvme-rdma: add more error details when a QP moves to an error state Patrisious Haddad
2022-09-07 12:02   ` Christoph Hellwig
2022-09-07 12:11     ` Leon Romanovsky
2022-09-07 12:34   ` Sagi Grimberg
2022-09-07 12:51     ` Leon Romanovsky
2022-09-07 15:16       ` Sagi Grimberg
2022-09-07 15:18         ` Christoph Hellwig
2022-09-07 17:39           ` Leon Romanovsky
2022-11-01  9:12             ` Mark Zhang
2022-11-02  1:56               ` Mark Zhang
2022-09-08  7:55           ` Patrisious Haddad
2022-09-07 17:29         ` Leon Romanovsky

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).