From: Jakub Kicinski <kubakici@wp.pl>
To: David Miller <davem@davemloft.net>
Cc: lipeng321@huawei.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, linuxarm@huawei.com,
salil.mehta@huawei.com
Subject: Re: [PATCH net-next 12/20] net: hns3: Add packet statistics of netdev
Date: Mon, 8 Jan 2018 17:46:02 -0800 [thread overview]
Message-ID: <20180108174602.34bee66b@cakuba.netronome.com> (raw)
In-Reply-To: <20180108.203913.1283013651432416478.davem@davemloft.net>
On Mon, 08 Jan 2018 20:39:13 -0500 (EST), David Miller wrote:
> From: Jakub Kicinski <kubakici@wp.pl>
> Date: Mon, 8 Jan 2018 12:04:31 -0800
>
> > Ugh, I so didn't review this in time :( I think there is a consensus
> > that we should avoid duplicating standard stats in ethtool. Especially
> > those old ones. Like "collisions", I assume this is a modern NIC, are
> > collisions still a thing?
>
> There is no standard way to get per-queue values, and ethtool stats are
> how pretty much every driver provides it.
Right, agreed. I'm only objecting to this patch (12/20), where we can
see the telltale code like this:
+ const struct rtnl_link_stats64 *net_stats;
+ struct rtnl_link_stats64 temp;
+
+ net_stats = dev_get_stats(netdev, &temp);
+ for (i = 0; i < HNS3_NETDEV_STATS_COUNT; i++) {
+ stat = (u8 *)net_stats + hns3_netdev_stats[i].stats_offset;
+ *data++ = *(u64 *)stat;
+ }
Where:
+#define HNS3_NETDEV_STAT(_string, _member) { \
+ .stats_string = _string, \
+ .stats_offset = offsetof(struct rtnl_link_stats64, _member) \
+}
+
+static const struct hns3_stats hns3_netdev_stats[] = {
+ /* Rx per-queue statistics */
+ HNS3_NETDEV_STAT("rx_packets", rx_packets),
+ HNS3_NETDEV_STAT("tx_packets", tx_packets),
etc. IOW dumping struct rtnl_link_stats64 to ethtool -S member by
member.
Let me put the netlink per-queue stats on my soft TODO list :)
next prev parent reply other threads:[~2018-01-09 1:46 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-05 10:18 [PATCH net-next 00/20] add some new features and fix some bugs for HNS3 driver Peng Li
2018-01-05 10:18 ` [PATCH net-next 01/20] net: hns3: Add ethtool interface for vlan filter Peng Li
2018-01-05 10:18 ` [PATCH net-next 02/20] net: hns3: Disable VFs change rxvlan offload status Peng Li
2018-01-05 10:18 ` [PATCH net-next 03/20] net: hns3: Unify the strings display of packet statistics Peng Li
2018-01-05 10:18 ` [PATCH net-next 04/20] net: hns3: Fix spelling errors Peng Li
2018-01-05 10:18 ` [PATCH net-next 05/20] net: hns3: Remove repeat statistic of rx_errors Peng Li
2018-01-05 10:18 ` [PATCH net-next 06/20] net: hns3: Modify the update period of packet statistics Peng Li
2018-01-05 14:54 ` Andrew Lunn
2018-01-06 6:23 ` lipeng (Y)
2018-01-06 15:49 ` Andrew Lunn
2018-01-05 10:18 ` [PATCH net-next 07/20] net: hns3: Mask the packet statistics query when NIC is down Peng Li
2018-01-05 10:18 ` [PATCH net-next 08/20] net: hns3: Fix an error of total drop packet statistics Peng Li
2018-01-05 10:18 ` [PATCH net-next 09/20] net: hns3: Fix a loop index error of tqp statistics query Peng Li
2018-01-05 10:18 ` [PATCH net-next 10/20] net: hns3: Fix an error macro definition of HNS3_TQP_STAT Peng Li
2018-01-05 10:18 ` [PATCH net-next 11/20] net: hns3: Remove a useless member of struct hns3_stats Peng Li
2018-01-05 10:18 ` [PATCH net-next 12/20] net: hns3: Add packet statistics of netdev Peng Li
2018-01-08 20:04 ` Jakub Kicinski
2018-01-09 1:39 ` David Miller
2018-01-09 1:46 ` Jakub Kicinski [this message]
2018-01-09 1:50 ` Jakub Kicinski
2018-01-09 1:54 ` David Miller
2018-01-09 2:48 ` lipeng (Y)
2018-01-09 3:06 ` David Miller
2018-01-09 3:27 ` lipeng (Y)
2018-01-05 10:18 ` [PATCH net-next 13/20] net: hns3: Fix a response data read error of tqp statistics query Peng Li
2018-01-05 10:18 ` [PATCH net-next 14/20] net: hns3: fix for updating fc_mode_last_time Peng Li
2018-01-05 10:18 ` [PATCH net-next 15/20] net: hns3: fix for setting MTU Peng Li
2018-01-05 10:18 ` [PATCH net-next 16/20] net: hns3: fix for changing MTU Peng Li
2018-01-05 10:18 ` [PATCH net-next 17/20] net: hns3: add MTU initialization for hardware Peng Li
2018-01-05 10:18 ` [PATCH net-next 18/20] net: hns3: fix for not setting pause parameters Peng Li
2018-01-05 10:18 ` [PATCH net-next 19/20] net: hns3: remove redundant semicolon Peng Li
2018-01-05 10:18 ` [PATCH net-next 20/20] net: hns3: Add more packet size statisctics Peng Li
2018-01-08 19:08 ` [PATCH net-next 00/20] add some new features and fix some bugs for HNS3 driver David Miller
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=20180108174602.34bee66b@cakuba.netronome.com \
--to=kubakici@wp.pl \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=lipeng321@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=salil.mehta@huawei.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.