From: Leon Romanovsky <leon@kernel.org> To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com> Cc: Leon Romanovsky <leonro@mellanox.com>, RDMA mailing list <linux-rdma@vger.kernel.org>, Majd Dibbiny <majd@mellanox.com>, Mark Zhang <markz@mellanox.com>, Saeed Mahameed <saeedm@mellanox.com>, linux-netdev <netdev@vger.kernel.org> Subject: [PATCH rdma-next v2 00/17] Statistics counter support Date: Mon, 29 Apr 2019 11:34:36 +0300 [thread overview] Message-ID: <20190429083453.16654-1-leon@kernel.org> (raw) From: Leon Romanovsky <leonro@mellanox.com> Changelog: v1 -> v2: * Rebased to latest rdma-next v0 -> v1: * Changed wording of counter comment * Removed unneeded assignments * Added extra patch to present global counters * I didn't change QP type from int to be enum ib_qp_type, because it caused to cyclic dependency between ib_verbs.h and rdma_counter.h. ---------------------------------------------------- Hi, This series from Mark provides dynamic statistics infrastructure. He uses netlink interface to configure and retrieve those counters. This infrastructure allows to users monitor various objects by binding to them counters. As the beginning, we used QP object as target for those counters, but future patches will include ODP MR information too. Two binding modes are supported: - Auto: This allows a user to build automatic set of objects to a counter according to common criteria. For example in a per-type scheme, where in one process all QPs with same QP type are bound automatically to a single counter. - Manual: This allows a user to manually bind objects on a counter. Those two modes are mutual-exclusive with separation between processes, objects created by different processes cannot be bound to a same counter. For objects which don't support counter binding, we will return pre-allocated counters. $ rdma statistic qp set link mlx5_2/1 auto type on $ rdma statistic qp set link mlx5_2/1 auto off $ rdma statistic qp bind link mlx5_2/1 lqpn 178 $ rdma statistic qp unbind link mlx5_2/1 cntn 4 lqpn 178 $ rdma statistic show $ rdma statistic qp mode Thanks Mark Zhang (17): net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap RDMA/restrack: Introduce statistic counter RDMA/restrack: Add an API to attach a task to a resource RDMA/restrack: Make is_visible_in_pid_ns() as an API RDMA/counter: Add set/clear per-port auto mode support RDMA/counter: Add "auto" configuration mode support IB/mlx5: Support set qp counter IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() IB/mlx5: Support statistic q counter configuration RDMA/nldev: Allow counter auto mode configration through RDMA netlink RDMA/netlink: Implement counter dumpit calback IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support RDMA/core: Get sum value of all counters when perform a sysfs stat read RDMA/counter: Allow manual mode configuration support RDMA/nldev: Allow counter manual mode configration through RDMA netlink RDMA/nldev: Allow get counter mode through RDMA netlink RDMA/nldev: Allow get default counter statistics through RDMA netlink drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/counters.c | 653 +++++++++++++++++++++++++++ drivers/infiniband/core/device.c | 14 + drivers/infiniband/core/nldev.c | 524 ++++++++++++++++++++- drivers/infiniband/core/restrack.c | 49 +- drivers/infiniband/core/restrack.h | 3 + drivers/infiniband/core/sysfs.c | 10 +- drivers/infiniband/core/verbs.c | 9 + drivers/infiniband/hw/mlx5/main.c | 88 +++- drivers/infiniband/hw/mlx5/mlx5_ib.h | 6 + drivers/infiniband/hw/mlx5/qp.c | 76 +++- include/linux/mlx5/mlx5_ifc.h | 4 +- include/linux/mlx5/qp.h | 1 + include/rdma/ib_verbs.h | 30 ++ include/rdma/rdma_counter.h | 64 +++ include/rdma/restrack.h | 4 + include/uapi/rdma/rdma_netlink.h | 52 ++- 17 files changed, 1558 insertions(+), 31 deletions(-) create mode 100644 drivers/infiniband/core/counters.c create mode 100644 include/rdma/rdma_counter.h
WARNING: multiple messages have this Message-ID (diff)
From: Leon Romanovsky <leon@kernel.org> To: Doug Ledford <dledford@redhat.com>, Jason Gunthorpe <jgg@mellanox.com> Cc: Leon Romanovsky <leonro@mellanox.com>, RDMA mailing list <linux-rdma@vger.kernel.org>, Majd Dibbiny <majd@mellanox.com>, Mark Zhang <markz@mellanox.com>, Saeed Mahameed <saeedm@mellanox.com>, linux-netdev <netdev@vger.kernel.org> Subject: [PATCH rdma-next v2 00/17] Statistics counter support Date: Mon, 29 Apr 2019 11:34:36 +0300 [thread overview] Message-ID: <20190429083453.16654-1-leon@kernel.org> (raw) From: Leon Romanovsky <leonro@mellanox.com> Changelog: v1 -> v2: * Rebased to latest rdma-next v0 -> v1: * Changed wording of counter comment * Removed unneeded assignments * Added extra patch to present global counters * I didn't change QP type from int to be enum ib_qp_type, because it caused to cyclic dependency between ib_verbs.h and rdma_counter.h. ---------------------------------------------------- Hi, This series from Mark provides dynamic statistics infrastructure. He uses netlink interface to configure and retrieve those counters. This infrastructure allows to users monitor various objects by binding to them counters. As the beginning, we used QP object as target for those counters, but future patches will include ODP MR information too. Two binding modes are supported: - Auto: This allows a user to build automatic set of objects to a counter according to common criteria. For example in a per-type scheme, where in one process all QPs with same QP type are bound automatically to a single counter. - Manual: This allows a user to manually bind objects on a counter. Those two modes are mutual-exclusive with separation between processes, objects created by different processes cannot be bound to a same counter. For objects which don't support counter binding, we will return pre-allocated counters. $ rdma statistic qp set link mlx5_2/1 auto type on $ rdma statistic qp set link mlx5_2/1 auto off $ rdma statistic qp bind link mlx5_2/1 lqpn 178 $ rdma statistic qp unbind link mlx5_2/1 cntn 4 lqpn 178 $ rdma statistic show $ rdma statistic qp mode Thanks Mark Zhang (17): net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap RDMA/restrack: Introduce statistic counter RDMA/restrack: Add an API to attach a task to a resource RDMA/restrack: Make is_visible_in_pid_ns() as an API RDMA/counter: Add set/clear per-port auto mode support RDMA/counter: Add "auto" configuration mode support IB/mlx5: Support set qp counter IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() IB/mlx5: Support statistic q counter configuration RDMA/nldev: Allow counter auto mode configration through RDMA netlink RDMA/netlink: Implement counter dumpit calback IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support RDMA/core: Get sum value of all counters when perform a sysfs stat read RDMA/counter: Allow manual mode configuration support RDMA/nldev: Allow counter manual mode configration through RDMA netlink RDMA/nldev: Allow get counter mode through RDMA netlink RDMA/nldev: Allow get default counter statistics through RDMA netlink drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/counters.c | 653 +++++++++++++++++++++++++++ drivers/infiniband/core/device.c | 14 + drivers/infiniband/core/nldev.c | 524 ++++++++++++++++++++- drivers/infiniband/core/restrack.c | 49 +- drivers/infiniband/core/restrack.h | 3 + drivers/infiniband/core/sysfs.c | 10 +- drivers/infiniband/core/verbs.c | 9 + drivers/infiniband/hw/mlx5/main.c | 88 +++- drivers/infiniband/hw/mlx5/mlx5_ib.h | 6 + drivers/infiniband/hw/mlx5/qp.c | 76 +++- include/linux/mlx5/mlx5_ifc.h | 4 +- include/linux/mlx5/qp.h | 1 + include/rdma/ib_verbs.h | 30 ++ include/rdma/rdma_counter.h | 64 +++ include/rdma/restrack.h | 4 + include/uapi/rdma/rdma_netlink.h | 52 ++- 17 files changed, 1558 insertions(+), 31 deletions(-) create mode 100644 drivers/infiniband/core/counters.c create mode 100644 include/rdma/rdma_counter.h -- 2.20.1
next reply other threads:[~2019-04-29 8:34 UTC|newest] Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-29 8:34 Leon Romanovsky [this message] 2019-04-29 8:34 ` [PATCH rdma-next v2 00/17] Statistics counter support Leon Romanovsky 2019-04-29 8:34 ` [PATCH mlx5-next v2 01/17] net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 02/17] RDMA/restrack: Introduce statistic counter Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 03/17] RDMA/restrack: Add an API to attach a task to a resource Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 04/17] RDMA/restrack: Make is_visible_in_pid_ns() as an API Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 05/17] RDMA/counter: Add set/clear per-port auto mode support Leon Romanovsky 2019-05-22 16:56 ` Jason Gunthorpe 2019-05-29 10:12 ` Leon Romanovsky 2019-05-29 10:43 ` Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 06/17] RDMA/counter: Add "auto" configuration " Leon Romanovsky 2019-05-22 17:11 ` Jason Gunthorpe 2019-05-22 17:15 ` Jason Gunthorpe 2019-04-29 8:34 ` [PATCH mlx5-next v2 07/17] IB/mlx5: Support set qp counter Leon Romanovsky 2019-04-29 18:22 ` Saeed Mahameed 2019-04-29 18:38 ` Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 08/17] IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 09/17] IB/mlx5: Support statistic q counter configuration Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 10/17] RDMA/nldev: Allow counter auto mode configration through RDMA netlink Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 11/17] RDMA/netlink: Implement counter dumpit calback Leon Romanovsky 2019-05-22 17:21 ` Jason Gunthorpe 2019-05-29 11:31 ` Leon Romanovsky 2019-05-22 17:22 ` Jason Gunthorpe 2019-04-29 8:34 ` [PATCH rdma-next v2 12/17] IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 13/17] RDMA/core: Get sum value of all counters when perform a sysfs stat read Leon Romanovsky 2019-05-22 17:10 ` Jason Gunthorpe 2019-05-29 11:15 ` Leon Romanovsky 2019-05-29 15:41 ` Jason Gunthorpe 2019-05-22 17:26 ` Jason Gunthorpe 2019-05-29 11:05 ` Leon Romanovsky 2019-05-29 15:44 ` Jason Gunthorpe 2019-05-30 6:01 ` Mark Zhang 2019-05-30 7:04 ` Leon Romanovsky 2019-05-29 11:17 ` Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 14/17] RDMA/counter: Allow manual mode configuration support Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 15/17] RDMA/nldev: Allow counter manual mode configration through RDMA netlink Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 16/17] RDMA/nldev: Allow get counter mode " Leon Romanovsky 2019-04-29 8:34 ` [PATCH rdma-next v2 17/17] RDMA/nldev: Allow get default counter statistics " Leon Romanovsky 2019-05-22 17:30 ` Jason Gunthorpe 2019-05-29 11:54 ` Leon Romanovsky 2019-05-22 17:31 ` [PATCH rdma-next v2 00/17] Statistics counter support Jason Gunthorpe
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=20190429083453.16654-1-leon@kernel.org \ --to=leon@kernel.org \ --cc=dledford@redhat.com \ --cc=jgg@mellanox.com \ --cc=leonro@mellanox.com \ --cc=linux-rdma@vger.kernel.org \ --cc=majd@mellanox.com \ --cc=markz@mellanox.com \ --cc=netdev@vger.kernel.org \ --cc=saeedm@mellanox.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: linkBe 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.