From: Jason Gunthorpe <jgg@nvidia.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: Doug Ledford <dledford@redhat.com>,
Leon Romanovsky <leonro@nvidia.com>,
Aharon Landau <aharonl@nvidia.com>,
Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>,
Gal Pressman <galpress@amazon.com>,
Jakub Kicinski <kuba@kernel.org>,
linux-rdma@vger.kernel.org, Maor Gottlieb <maorg@nvidia.com>,
Mark Zhang <markzhang@nvidia.com>,
Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>,
Mustafa Ismail <mustafa.ismail@intel.com>,
Naresh Kumar PBS <nareshkumar.pbs@broadcom.com>,
Neta Ostrovsky <netao@nvidia.com>,
netdev@vger.kernel.org, Potnuri Bharat Teja <bharat@chelsio.com>,
Saeed Mahameed <saeedm@nvidia.com>,
Selvin Xavier <selvin.xavier@broadcom.com>,
Shiraz Saleem <shiraz.saleem@intel.com>,
Yishai Hadas <yishaih@nvidia.com>,
Zhu Yanjun <zyjzyj2000@gmail.com>
Subject: Re: [PATCH rdma-next v2 00/13] Optional counter statistics support
Date: Mon, 4 Oct 2021 15:11:15 -0300 [thread overview]
Message-ID: <20211004181115.GF2515663@nvidia.com> (raw)
In-Reply-To: <cover.1632988543.git.leonro@nvidia.com>
On Thu, Sep 30, 2021 at 11:02:16AM +0300, Leon Romanovsky wrote:
> v2:
> * Add rdma_free_hw_stats_struct() helper API (with a new patch)
> * In sysfs add a WARN_ON to check if optional stats are always at the end
> * Add a new nldev command to get the counter status
> * Improve nldev_stat_set_counter_dynamic_doit() by creating a
> target state bitmap
Other than still having different get behavior it looks mostly Ok
Please mind some of the wonky formatting clang-format-diff will give a
clue where to look, I got this list:
diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
index adbddb07b08ed9..a7f9fe234a9e93 100644
--- a/drivers/infiniband/core/nldev.c
+++ b/drivers/infiniband/core/nldev.c
@@ -1910,13 +1910,13 @@ static int nldev_stat_set_counter_dynamic_doit(struct nlattr *tb[],
if (!stats)
return -EINVAL;
- target = kcalloc(BITS_TO_LONGS(stats->num_counters),
- sizeof(long), GFP_KERNEL);
+ target = kcalloc(BITS_TO_LONGS(stats->num_counters), sizeof(long),
+ GFP_KERNEL);
if (!target)
return -ENOMEM;
- nla_for_each_nested(entry_attr,
- tb[RDMA_NLDEV_ATTR_STAT_HWCOUNTERS], rem) {
+ nla_for_each_nested (entry_attr, tb[RDMA_NLDEV_ATTR_STAT_HWCOUNTERS],
+ rem) {
index = nla_get_u32(entry_attr);
if ((index >= stats->num_counters) ||
!(stats->descs[index].flags & IB_STAT_FLAG_OPTIONAL)) {
@@ -1959,10 +1959,9 @@ static int nldev_stat_set_mode_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
if (!msg)
return -ENOMEM;
- nlh = nlmsg_put(msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
- RDMA_NL_GET_TYPE(RDMA_NL_NLDEV,
- RDMA_NLDEV_CMD_STAT_SET),
- 0, 0);
+ nlh = nlmsg_put(
+ msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
+ RDMA_NL_GET_TYPE(RDMA_NL_NLDEV, RDMA_NLDEV_CMD_STAT_SET), 0, 0);
mode = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_MODE]);
if (mode == RDMA_COUNTER_MODE_AUTO) {
@@ -2052,8 +2051,8 @@ static int nldev_stat_del_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
u32 index, port, qpn, cntn;
int ret;
- ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1,
- nldev_policy, extack);
+ ret = nlmsg_parse(nlh, 0, tb, RDMA_NLDEV_ATTR_MAX - 1, nldev_policy,
+ extack);
if (ret || !tb[RDMA_NLDEV_ATTR_STAT_RES] ||
!tb[RDMA_NLDEV_ATTR_DEV_INDEX] || !tb[RDMA_NLDEV_ATTR_PORT_INDEX] ||
!tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID] ||
@@ -2079,10 +2078,9 @@ static int nldev_stat_del_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
ret = -ENOMEM;
goto err;
}
- nlh = nlmsg_put(msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
- RDMA_NL_GET_TYPE(RDMA_NL_NLDEV,
- RDMA_NLDEV_CMD_STAT_SET),
- 0, 0);
+ nlh = nlmsg_put(
+ msg, NETLINK_CB(skb).portid, nlh->nlmsg_seq,
+ RDMA_NL_GET_TYPE(RDMA_NL_NLDEV, RDMA_NLDEV_CMD_STAT_SET), 0, 0);
cntn = nla_get_u32(tb[RDMA_NLDEV_ATTR_STAT_COUNTER_ID]);
qpn = nla_get_u32(tb[RDMA_NLDEV_ATTR_RES_LQPN]);
@@ -2109,8 +2107,7 @@ static int nldev_stat_del_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
return ret;
}
-static int stat_get_doit_stats_list(struct sk_buff *skb,
- struct nlmsghdr *nlh,
+static int stat_get_doit_stats_list(struct sk_buff *skb, struct nlmsghdr *nlh,
struct netlink_ext_ack *extack,
struct nlattr *tb[],
struct ib_device *device, u32 port,
diff --git a/drivers/infiniband/hw/efa/efa_verbs.c b/drivers/infiniband/hw/efa/efa_verbs.c
index 35d818b38e7780..e5919bd9a25106 100644
--- a/drivers/infiniband/hw/efa/efa_verbs.c
+++ b/drivers/infiniband/hw/efa/efa_verbs.c
@@ -60,8 +60,7 @@ struct efa_user_mmap_entry {
op(EFA_RDMA_READ_RESP_BYTES, "rdma_read_resp_bytes") \
#define EFA_STATS_ENUM(ename, name) ename,
-#define EFA_STATS_STR(ename, nam) \
- [ename].name = nam,
+#define EFA_STATS_STR(ename, nam) [ename].name = nam,
enum efa_hw_device_stats {
EFA_DEFINE_DEVICE_STATS(EFA_STATS_ENUM)
diff --git a/drivers/infiniband/hw/hfi1/verbs.c b/drivers/infiniband/hw/hfi1/verbs.c
index 09354f1257a947..ed9fa0d84e9ed3 100644
--- a/drivers/infiniband/hw/hfi1/verbs.c
+++ b/drivers/infiniband/hw/hfi1/verbs.c
@@ -1614,10 +1614,8 @@ static int cntr_names_initialized;
* strings. Optionally some entries can be reserved in the array to hold extra
* external strings.
*/
-static int init_cntr_names(const char *names_in,
- const size_t names_len,
- int num_extra_names,
- int *num_cntrs,
+static int init_cntr_names(const char *names_in, const size_t names_len,
+ int num_extra_names, int *num_cntrs,
struct rdma_stat_desc **cntr_descs)
{
struct rdma_stat_desc *q;
diff --git a/drivers/infiniband/hw/irdma/verbs.c b/drivers/infiniband/hw/irdma/verbs.c
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index fd4dfb43006b54..38742e233915f9 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -2152,9 +2152,7 @@ static int mlx4_ib_get_hw_stats(struct ib_device *ibdev,
static int __mlx4_ib_alloc_diag_counters(struct mlx4_ib_dev *ibdev,
struct rdma_stat_desc **pdescs,
- u32 **offset,
- u32 *num,
- bool port)
+ u32 **offset, u32 *num, bool port)
{
u32 num_counters;
@@ -2186,8 +2184,7 @@ static int __mlx4_ib_alloc_diag_counters(struct mlx4_ib_dev *ibdev,
static void mlx4_ib_fill_diag_counters(struct mlx4_ib_dev *ibdev,
struct rdma_stat_desc *descs,
- u32 *offset,
- bool port)
+ u32 *offset, bool port)
{
int i;
int j;
diff --git a/drivers/infiniband/hw/mlx5/counters.c b/drivers/infiniband/hw/mlx5/counters.c
index 206c190d0ce4f9..f72dffd2f42c03 100644
--- a/drivers/infiniband/hw/mlx5/counters.c
+++ b/drivers/infiniband/hw/mlx5/counters.c
@@ -478,10 +478,8 @@ static int mlx5_ib_counter_unbind_qp(struct ib_qp *qp)
return mlx5_ib_qp_set_counter(qp, NULL);
}
-
static void mlx5_ib_fill_counters(struct mlx5_ib_dev *dev,
- struct rdma_stat_desc *descs,
- size_t *offsets)
+ struct rdma_stat_desc *descs, size_t *offsets)
{
int i;
int j = 0;
@@ -34,7 +34,7 @@ int rxe_ib_get_hw_stats(struct ib_device *ibdev,
if (!port || !stats)
return -EINVAL;
- for (cnt = 0; cnt < ARRAY_SIZE(rxe_counter_descs); cnt++)
+ for (cnt = 0; cnt < ARRAY_SIZE(rxe_counter_descs); cnt++)
stats->value[cnt] = atomic64_read(&dev->stats_counters[cnt]);
return ARRAY_SIZE(rxe_counter_descs);
prev parent reply other threads:[~2021-10-04 18:11 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-30 8:02 [PATCH rdma-next v2 00/13] Optional counter statistics support Leon Romanovsky
2021-09-30 8:02 ` [PATCH mlx5-next v2 01/13] net/mlx5: Add ifc bits to support optional counters Leon Romanovsky
2021-09-30 8:02 ` [PATCH mlx5-next v2 02/13] net/mlx5: Add priorities for counters in RDMA namespaces Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 03/13] RDMA/counter: Add a descriptor in struct rdma_hw_stats Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 04/13] RDMA/core: Add a helper API rdma_free_hw_stats_struct Leon Romanovsky
2021-10-04 17:59 ` Jason Gunthorpe
2021-09-30 8:02 ` [PATCH rdma-next v2 05/13] RDMA/counter: Add an is_disabled field in struct rdma_hw_stats Leon Romanovsky
2021-10-04 18:00 ` Jason Gunthorpe
2021-09-30 8:02 ` [PATCH rdma-next v2 06/13] RDMA/counter: Add optional counter support Leon Romanovsky
2021-10-04 18:01 ` Jason Gunthorpe
2021-09-30 8:02 ` [PATCH rdma-next v2 07/13] RDMA/nldev: Add support to get status of all counters Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 08/13] RDMA/nldev: Allow optional-counter status configuration through RDMA netlink Leon Romanovsky
2021-10-04 18:03 ` Jason Gunthorpe
2021-09-30 8:02 ` [PATCH rdma-next v2 09/13] RDMA/mlx5: Support optional counters in hw_stats initialization Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 10/13] RDMA/mlx5: Add steering support in optional flow counters Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 11/13] RDMA/mlx5: Add modify_op_stat() support Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 12/13] RDMA/mlx5: Add optional counter support in get_hw_stats callback Leon Romanovsky
2021-09-30 8:02 ` [PATCH rdma-next v2 13/13] RDMA/nldev: Add support to get status of all counters Leon Romanovsky
2021-10-04 18:07 ` Jason Gunthorpe
2021-10-05 11:00 ` Leon Romanovsky
2021-10-04 18:11 ` Jason Gunthorpe [this message]
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=20211004181115.GF2515663@nvidia.com \
--to=jgg@nvidia.com \
--cc=aharonl@nvidia.com \
--cc=bharat@chelsio.com \
--cc=dennis.dalessandro@cornelisnetworks.com \
--cc=dledford@redhat.com \
--cc=galpress@amazon.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=leonro@nvidia.com \
--cc=linux-rdma@vger.kernel.org \
--cc=maorg@nvidia.com \
--cc=markzhang@nvidia.com \
--cc=mike.marciniszyn@cornelisnetworks.com \
--cc=mustafa.ismail@intel.com \
--cc=nareshkumar.pbs@broadcom.com \
--cc=netao@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@nvidia.com \
--cc=selvin.xavier@broadcom.com \
--cc=shiraz.saleem@intel.com \
--cc=yishaih@nvidia.com \
--cc=zyjzyj2000@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.