lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 31 Oct 2017 15:06:33 -0700
From:   Saeed Mahameed <saeedm@...lanox.com>
To:     "David S. Miller" <davem@...emloft.net>
Cc:     netdev@...r.kernel.org,
        Stephen Hemminger <stephen@...workplumber.org>,
        Saeed Mahameed <saeedm@...lanox.com>
Subject: [pull request][net-next 00/14] Mellanox, mlx5e stats groups

Hi Dave,

The following series from Kamal introduces a refactoring and redesign for mlx5
ethtool counters handling, for more information please see tag log below.

Please pull and let me know if there's any problem.

Thanks,
Saeed.

---

The following changes since commit aa2bc739ef4a181a7589eb009be96a870cc1788f:

  net: filter: remove unused variable and fix warning (2017-10-31 09:18:04 +0900)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-updates-2017-10-31

for you to fetch changes up to 1fe850062c9ee15a3bea1ae90aef386a492a1c5e:

  net/mlx5e: Switch channels counters to use stats group API (2017-10-31 14:20:48 -0700)

----------------------------------------------------------------
mlx5-updates-2017-10-31 mlx5e stats groups

This series from Kamal introduces an important refactoring for mlx5e stats
handling, which groups the stats into generic groups structure which allows
to control the behavior and stats reporting per group in a modular way.

In the first patch Kamal introduces a new data type "mlx5e_stats_grp" This change
defines a new API to create a group of stats and simplifies the way of handling them.
This struct will define the following behavior per group:
    - get_num_stats() - return the number of counters in the group.
    - fill_strings() - fill counters strings within the group.
    - fill_stats() - fill counters values within the group.

All other patches will be straight forward refactoring per stats group,
where Kamal will move each mlx5e stats group to use the new API.

The idea is to have better flexibility and modularity to add new counters,
all ethtool logic was rendered generic and loops through the generic stats groups and
calls the groups callbacks to figure out how and what to report back to user space.

Introducing new file en_stats.c to hold all the new stat groups logic and implementation.
Static structures (counters descriptors) moved from en_stats.h to en_stats.c which reduces
the mlx5_core binary footprint, originally reported and addressed by Stephen Hemminger:
("mlx5: fix space waste from ethtool descriptions") which was waived due to this re-design.

Thanks,
Saeed.

----------------------------------------------------------------
Kamal Heib (14):
      net/mlx5e: Introduce stats group API
      net/mlx5e: Switch Q counters to use the stats group API
      net/mlx5e: Switch vport counters to use the stats group API
      net/mlx5e: Switch IEEE 802.3 counters to use stats group API
      net/mlx5e: Switch RFC 2863 counters to use stats group API
      net/mlx5e: Switch RFC 2819 counters to use stats group API
      net/mlx5e: Switch physical statistical counters to use stats group API
      net/mlx5e: Switch ethernet extended counters to use stats group API
      net/mlx5e: Switch pcie counters to use stats group API
      net/mlx5e: Switch per prio traffic counters to use stats group API
      net/mlx5e: Switch per prio pfc counters to use stats group API
      net/mlx5e: Switch pme counters to use stats group API
      net/mlx5e: Switch ipsec counters to use stats group API
      net/mlx5e: Switch channels counters to use stats group API

 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |   2 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   | 256 +-----
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 895 +++++++++++++++++++++
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 287 +------
 4 files changed, 914 insertions(+), 526 deletions(-)
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ