* [PATCH rdma-next 00/14] RAW format dumps through RDMAtool
@ 2020-05-13 9:50 Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Leon Romanovsky @ 2020-05-13 9:50 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Leon Romanovsky, Lijun Ou, linux-rdma, Maor Gottlieb, netdev,
Potnuri Bharat Teja, Saeed Mahameed, Weihang Li, Wei Hu(Xavier)
From: Leon Romanovsky <leonro@mellanox.com>
From Maor:
Hi,
The following series adds support to get the RDMA resource data in RAW
format. The main motivation for doing this is to enable vendors to return
the entire QP/CQ/MR data without a need from the vendor to set each field
separately.
Thanks
Maor Gottlieb (14):
net/mlx5: Export resource dump interface
net/mlx5: Add support in query QP, CQ and MKEY segments
RDMA/core: Fix double put of resource
RDMA/core: Allow to override device op
RDMA/core: Don't call fill_res_entry for PD
RDMA/core: Add restrack dummy ops
RDMA: Add dedicated MR resource tracker function
RDMA: Add a dedicated CQ resource tracker function
RDMA: Add a dedicated QP resource tracker function
RDMA: Add dedicated cm id resource tracker function
RDMA: Add support to dump resource tracker in RAW format
RDMA/mlx5: Add support to get QP resource in raw format
RDMA/mlx5: Add support to get CQ resource in RAW format
RDMA/mlx5: Add support to get MR resource in RAW format
drivers/infiniband/core/device.c | 16 ++-
drivers/infiniband/core/nldev.c | 136 ++++++++----------
drivers/infiniband/core/restrack.c | 32 +++++
drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 +-
drivers/infiniband/hw/cxgb4/provider.c | 11 +-
drivers/infiniband/hw/cxgb4/restrack.c | 33 ++---
drivers/infiniband/hw/hns/hns_roce_device.h | 4 +-
drivers/infiniband/hw/hns/hns_roce_main.c | 2 +-
drivers/infiniband/hw/hns/hns_roce_restrack.c | 17 +--
drivers/infiniband/hw/mlx5/main.c | 6 +-
drivers/infiniband/hw/mlx5/mlx5_ib.h | 11 +-
drivers/infiniband/hw/mlx5/restrack.c | 105 +++++++++++---
.../mellanox/mlx5/core/diag/rsc_dump.c | 6 +
.../mellanox/mlx5/core/diag/rsc_dump.h | 33 +----
.../diag => include/linux/mlx5}/rsc_dump.h | 25 ++--
include/rdma/ib_verbs.h | 13 +-
include/uapi/rdma/rdma_netlink.h | 2 +
17 files changed, 258 insertions(+), 201 deletions(-)
copy {drivers/net/ethernet/mellanox/mlx5/core/diag => include/linux/mlx5}/rsc_dump.h (68%)
--
2.26.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface
2020-05-13 9:50 [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
@ 2020-05-13 9:50 ` Leon Romanovsky
2020-05-25 14:24 ` Jason Gunthorpe
2020-05-13 9:50 ` [PATCH mlx5-next 02/14] net/mlx5: Add support in query QP, CQ and MKEY segments Leon Romanovsky
2020-05-13 10:15 ` [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2 siblings, 1 reply; 6+ messages in thread
From: Leon Romanovsky @ 2020-05-13 9:50 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Maor Gottlieb, linux-rdma, netdev, Saeed Mahameed
From: Maor Gottlieb <maorg@mellanox.com>
Export some of the resource dump API, so it could be
used by the mlx5_ib driver as well.
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
.../mellanox/mlx5/core/diag/rsc_dump.c | 3 ++
.../mellanox/mlx5/core/diag/rsc_dump.h | 33 +------------------
.../diag => include/linux/mlx5}/rsc_dump.h | 22 ++++---------
3 files changed, 10 insertions(+), 48 deletions(-)
copy {drivers/net/ethernet/mellanox/mlx5/core/diag => include/linux/mlx5}/rsc_dump.h (68%)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
index 17ab7efe693d..10218c2324cc 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
@@ -130,11 +130,13 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
cmd->mem_size = key->size;
return cmd;
}
+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_create);
void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd)
{
kfree(cmd);
}
+EXPORT_SYMBOL(mlx5_rsc_dump_cmd_destroy);
int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
struct page *page, int *size)
@@ -155,6 +157,7 @@ int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
return more_dump;
}
+EXPORT_SYMBOL(mlx5_rsc_dump_next);
#define MLX5_RSC_DUMP_MENU_SEGMENT 0xffff
static int mlx5_rsc_dump_menu(struct mlx5_core_dev *dev)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
index 148270073e71..64c4956db6d2 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
+++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
@@ -4,41 +4,10 @@
#ifndef __MLX5_RSC_DUMP_H
#define __MLX5_RSC_DUMP_H
+#include <linux/mlx5/rsc_dump.h>
#include <linux/mlx5/driver.h>
#include "mlx5_core.h"
-enum mlx5_sgmt_type {
- MLX5_SGMT_TYPE_HW_CQPC,
- MLX5_SGMT_TYPE_HW_SQPC,
- MLX5_SGMT_TYPE_HW_RQPC,
- MLX5_SGMT_TYPE_FULL_SRQC,
- MLX5_SGMT_TYPE_FULL_CQC,
- MLX5_SGMT_TYPE_FULL_EQC,
- MLX5_SGMT_TYPE_FULL_QPC,
- MLX5_SGMT_TYPE_SND_BUFF,
- MLX5_SGMT_TYPE_RCV_BUFF,
- MLX5_SGMT_TYPE_SRQ_BUFF,
- MLX5_SGMT_TYPE_CQ_BUFF,
- MLX5_SGMT_TYPE_EQ_BUFF,
- MLX5_SGMT_TYPE_SX_SLICE,
- MLX5_SGMT_TYPE_SX_SLICE_ALL,
- MLX5_SGMT_TYPE_RDB,
- MLX5_SGMT_TYPE_RX_SLICE_ALL,
- MLX5_SGMT_TYPE_MENU,
- MLX5_SGMT_TYPE_TERMINATE,
-
- MLX5_SGMT_TYPE_NUM, /* Keep last */
-};
-
-struct mlx5_rsc_key {
- enum mlx5_sgmt_type rsc;
- int index1;
- int index2;
- int num_of_obj1;
- int num_of_obj2;
- int size;
-};
-
#define MLX5_RSC_DUMP_ALL 0xFFFF
struct mlx5_rsc_dump_cmd;
struct mlx5_rsc_dump;
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h b/include/linux/mlx5/rsc_dump.h
similarity index 68%
copy from drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
copy to include/linux/mlx5/rsc_dump.h
index 148270073e71..87415fa754fe 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.h
+++ b/include/linux/mlx5/rsc_dump.h
@@ -1,11 +1,10 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2019 Mellanox Technologies. */
-
-#ifndef __MLX5_RSC_DUMP_H
-#define __MLX5_RSC_DUMP_H
+/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
+/* Copyright (c) 2020 Mellanox Technologies inc. */
#include <linux/mlx5/driver.h>
-#include "mlx5_core.h"
+
+#ifndef __MLX5_RSC_DUMP
+#define __MLX5_RSC_DUMP
enum mlx5_sgmt_type {
MLX5_SGMT_TYPE_HW_CQPC,
@@ -39,20 +38,11 @@ struct mlx5_rsc_key {
int size;
};
-#define MLX5_RSC_DUMP_ALL 0xFFFF
struct mlx5_rsc_dump_cmd;
-struct mlx5_rsc_dump;
-
-struct mlx5_rsc_dump *mlx5_rsc_dump_create(struct mlx5_core_dev *dev);
-void mlx5_rsc_dump_destroy(struct mlx5_core_dev *dev);
-
-int mlx5_rsc_dump_init(struct mlx5_core_dev *dev);
-void mlx5_rsc_dump_cleanup(struct mlx5_core_dev *dev);
struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev,
struct mlx5_rsc_key *key);
void mlx5_rsc_dump_cmd_destroy(struct mlx5_rsc_dump_cmd *cmd);
-
int mlx5_rsc_dump_next(struct mlx5_core_dev *dev, struct mlx5_rsc_dump_cmd *cmd,
struct page *page, int *size);
-#endif
+#endif /* __MLX5_RSC_DUMP */
--
2.26.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH mlx5-next 02/14] net/mlx5: Add support in query QP, CQ and MKEY segments
2020-05-13 9:50 [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
@ 2020-05-13 9:50 ` Leon Romanovsky
2020-05-13 10:15 ` [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2020-05-13 9:50 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Maor Gottlieb, linux-rdma, netdev, Saeed Mahameed
From: Maor Gottlieb <maorg@mellanox.com>
Introduce new resource dump segments - PRM_QUERY_QP,
PRM_QUERY_CQ and PRM_QUERY_MKEY. These segments contains the resource
dump in PRM query format.
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c | 3 +++
include/linux/mlx5/rsc_dump.h | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
index 10218c2324cc..4924a5658853 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c
@@ -23,6 +23,9 @@ static const char *const mlx5_rsc_sgmt_name[] = {
MLX5_SGMT_STR_ASSING(SX_SLICE_ALL),
MLX5_SGMT_STR_ASSING(RDB),
MLX5_SGMT_STR_ASSING(RX_SLICE_ALL),
+ MLX5_SGMT_STR_ASSING(PRM_QUERY_QP),
+ MLX5_SGMT_STR_ASSING(PRM_QUERY_CQ),
+ MLX5_SGMT_STR_ASSING(PRM_QUERY_MKEY),
};
struct mlx5_rsc_dump {
diff --git a/include/linux/mlx5/rsc_dump.h b/include/linux/mlx5/rsc_dump.h
index 87415fa754fe..d11c0b228620 100644
--- a/include/linux/mlx5/rsc_dump.h
+++ b/include/linux/mlx5/rsc_dump.h
@@ -23,6 +23,9 @@ enum mlx5_sgmt_type {
MLX5_SGMT_TYPE_SX_SLICE_ALL,
MLX5_SGMT_TYPE_RDB,
MLX5_SGMT_TYPE_RX_SLICE_ALL,
+ MLX5_SGMT_TYPE_PRM_QUERY_QP,
+ MLX5_SGMT_TYPE_PRM_QUERY_CQ,
+ MLX5_SGMT_TYPE_PRM_QUERY_MKEY,
MLX5_SGMT_TYPE_MENU,
MLX5_SGMT_TYPE_TERMINATE,
--
2.26.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH rdma-next 00/14] RAW format dumps through RDMAtool
2020-05-13 9:50 [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 02/14] net/mlx5: Add support in query QP, CQ and MKEY segments Leon Romanovsky
@ 2020-05-13 10:15 ` Leon Romanovsky
2 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2020-05-13 10:15 UTC (permalink / raw)
To: Doug Ledford, Jason Gunthorpe
Cc: Lijun Ou, linux-rdma, Maor Gottlieb, netdev, Potnuri Bharat Teja,
Saeed Mahameed, Weihang Li, Wei Hu(Xavier)
On Wed, May 13, 2020 at 12:50:20PM +0300, Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@mellanox.com>
>
> From Maor:
>
> Hi,
>
> The following series adds support to get the RDMA resource data in RAW
> format. The main motivation for doing this is to enable vendors to return
> the entire QP/CQ/MR data without a need from the vendor to set each field
> separately.
>
> Thanks
>
> Maor Gottlieb (14):
> net/mlx5: Export resource dump interface
> net/mlx5: Add support in query QP, CQ and MKEY segments
> RDMA/core: Fix double put of resource
This specific patch was already sent to -rc and accepted.
Please ignore.
> RDMA/core: Allow to override device op
> RDMA/core: Don't call fill_res_entry for PD
> RDMA/core: Add restrack dummy ops
> RDMA: Add dedicated MR resource tracker function
> RDMA: Add a dedicated CQ resource tracker function
> RDMA: Add a dedicated QP resource tracker function
> RDMA: Add dedicated cm id resource tracker function
> RDMA: Add support to dump resource tracker in RAW format
> RDMA/mlx5: Add support to get QP resource in raw format
> RDMA/mlx5: Add support to get CQ resource in RAW format
> RDMA/mlx5: Add support to get MR resource in RAW format
>
> drivers/infiniband/core/device.c | 16 ++-
> drivers/infiniband/core/nldev.c | 136 ++++++++----------
> drivers/infiniband/core/restrack.c | 32 +++++
> drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 +-
> drivers/infiniband/hw/cxgb4/provider.c | 11 +-
> drivers/infiniband/hw/cxgb4/restrack.c | 33 ++---
> drivers/infiniband/hw/hns/hns_roce_device.h | 4 +-
> drivers/infiniband/hw/hns/hns_roce_main.c | 2 +-
> drivers/infiniband/hw/hns/hns_roce_restrack.c | 17 +--
> drivers/infiniband/hw/mlx5/main.c | 6 +-
> drivers/infiniband/hw/mlx5/mlx5_ib.h | 11 +-
> drivers/infiniband/hw/mlx5/restrack.c | 105 +++++++++++---
> .../mellanox/mlx5/core/diag/rsc_dump.c | 6 +
> .../mellanox/mlx5/core/diag/rsc_dump.h | 33 +----
> .../diag => include/linux/mlx5}/rsc_dump.h | 25 ++--
> include/rdma/ib_verbs.h | 13 +-
> include/uapi/rdma/rdma_netlink.h | 2 +
> 17 files changed, 258 insertions(+), 201 deletions(-)
> copy {drivers/net/ethernet/mellanox/mlx5/core/diag => include/linux/mlx5}/rsc_dump.h (68%)
>
> --
> 2.26.2
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
@ 2020-05-25 14:24 ` Jason Gunthorpe
2020-05-25 15:25 ` Maor Gottlieb
0 siblings, 1 reply; 6+ messages in thread
From: Jason Gunthorpe @ 2020-05-25 14:24 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Doug Ledford, Maor Gottlieb, linux-rdma, netdev, Saeed Mahameed
On Wed, May 13, 2020 at 12:50:21PM +0300, Leon Romanovsky wrote:
> From: Maor Gottlieb <maorg@mellanox.com>
>
> Export some of the resource dump API, so it could be
> used by the mlx5_ib driver as well.
This description doesn't really match the patch, is this other stuff
dead code?
Jason
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface
2020-05-25 14:24 ` Jason Gunthorpe
@ 2020-05-25 15:25 ` Maor Gottlieb
0 siblings, 0 replies; 6+ messages in thread
From: Maor Gottlieb @ 2020-05-25 15:25 UTC (permalink / raw)
To: Jason Gunthorpe, Leon Romanovsky
Cc: Doug Ledford, linux-rdma, netdev, Saeed Mahameed
On 5/25/2020 5:24 PM, Jason Gunthorpe wrote:
> On Wed, May 13, 2020 at 12:50:21PM +0300, Leon Romanovsky wrote:
>> From: Maor Gottlieb <maorg@mellanox.com>
>>
>> Export some of the resource dump API, so it could be
>> used by the mlx5_ib driver as well.
> This description doesn't really match the patch, is this other stuff
> dead code?
>
> Jason
It is used in later patch, I can clarify it better in the commit message.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-05-25 15:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-13 9:50 [PATCH rdma-next 00/14] RAW format dumps through RDMAtool Leon Romanovsky
2020-05-13 9:50 ` [PATCH mlx5-next 01/14] net/mlx5: Export resource dump interface Leon Romanovsky
2020-05-25 14:24 ` Jason Gunthorpe
2020-05-25 15:25 ` Maor Gottlieb
2020-05-13 9:50 ` [PATCH mlx5-next 02/14] net/mlx5: Add support in query QP, CQ and MKEY segments Leon Romanovsky
2020-05-13 10:15 ` [PATCH rdma-next 00/14] RAW format dumps through RDMAtool 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).