From: Stephen Hemminger <stephen@networkplumber.org>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [PATCH v2 12/15] ice: Add stats and ethtool support
Date: Thu, 15 Mar 2018 21:41:53 -0700 [thread overview]
Message-ID: <20180315214153.5f3759e1@xeon-e3> (raw)
In-Reply-To: <CAKgT0UcpfznPj5S5sBwMnC0WPhDaMnFJnQqS3_EMb5tZr10wAA@mail.gmail.com>
On Thu, 15 Mar 2018 17:50:10 -0700
Alexander Duyck <alexander.duyck@gmail.com> wrote:
> On Thu, Mar 15, 2018 at 4:52 PM, Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > On Thu, 15 Mar 2018 16:47:59 -0700
> > Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> wrote:
> >
> >> +
> >> +static const struct ice_stats ice_gstrings_vsi_stats[] = {
> >> + ICE_VSI_STAT("tx_unicast", eth_stats.tx_unicast),
> >> + ICE_VSI_STAT("rx_unicast", eth_stats.rx_unicast),
> >> + ICE_VSI_STAT("tx_multicast", eth_stats.tx_multicast),
> >> + ICE_VSI_STAT("rx_multicast", eth_stats.rx_multicast),
> >> + ICE_VSI_STAT("tx_broadcast", eth_stats.tx_broadcast),
> >> + ICE_VSI_STAT("rx_broadcast", eth_stats.rx_broadcast),
> >> + ICE_VSI_STAT("tx_bytes", eth_stats.tx_bytes),
> >> + ICE_VSI_STAT("rx_bytes", eth_stats.rx_bytes),
> >> + ICE_VSI_STAT("rx_discards", eth_stats.rx_discards),
> >> + ICE_VSI_STAT("tx_errors", eth_stats.tx_errors),
> >> + ICE_VSI_STAT("tx_linearize", tx_linearize),
> >> + ICE_VSI_STAT("rx_unknown_protocol", eth_stats.rx_unknown_protocol),
> >> + ICE_VSI_STAT("rx_alloc_fail", rx_buf_failed),
> >> + ICE_VSI_STAT("rx_pg_alloc_fail", rx_page_failed),
> >> +};
> >> +
> >
> > Ignoring feedback from maintainers is unlikely to help get your driver adopted.
>
> Your feedback wasn't ignored, the netdev stats are gone. I double
> checked and there was this in addition to the netdev stats before so I
> think the suggestion to remove the netdev stats was just taken
> literally.
>
> The VSI is a slightly different entity from the netdev itself. A
> netdev can be backed by a VSI in the case of the PF, but the VSI can
> be used in other ways such as what we did in i40e where we were using
> it to spawn queue groups to work with mqprio as a filter target and in
> that case the queue groups wouldn't have a netdev directly associated
> with them so in that case it might make sense to leave these as
> separate stats.
>
> - Alex
Sorry I was confused because eth_stats and thought is was a copy
of net_stats. This looks good.
After reading ice_stat_update40 I can see why you needed
to know starting point.
Since ice_fetch_u64_stats_per_ring is called only by ice_update_vsi_ring_stats,
and the update is only done by watchdog and when stats are fetched;
it doesn't look like you need to use the _irq variant of u64_stats_fetch_begin.
That would save having to disable local irq's while handling stats.
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
WARNING: multiple messages have this Message-ID (diff)
From: Stephen Hemminger <stephen@networkplumber.org>
To: Alexander Duyck <alexander.duyck@gmail.com>
Cc: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>,
Jakub Kicinski <kubakici@wp.pl>, Netdev <netdev@vger.kernel.org>,
intel-wired-lan <intel-wired-lan@lists.osuosl.org>,
Andrew Lunn <andrew@lunn.ch>
Subject: Re: [Intel-wired-lan] [PATCH v2 12/15] ice: Add stats and ethtool support
Date: Thu, 15 Mar 2018 21:41:53 -0700 [thread overview]
Message-ID: <20180315214153.5f3759e1@xeon-e3> (raw)
In-Reply-To: <CAKgT0UcpfznPj5S5sBwMnC0WPhDaMnFJnQqS3_EMb5tZr10wAA@mail.gmail.com>
On Thu, 15 Mar 2018 17:50:10 -0700
Alexander Duyck <alexander.duyck@gmail.com> wrote:
> On Thu, Mar 15, 2018 at 4:52 PM, Stephen Hemminger
> <stephen@networkplumber.org> wrote:
> > On Thu, 15 Mar 2018 16:47:59 -0700
> > Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> wrote:
> >
> >> +
> >> +static const struct ice_stats ice_gstrings_vsi_stats[] = {
> >> + ICE_VSI_STAT("tx_unicast", eth_stats.tx_unicast),
> >> + ICE_VSI_STAT("rx_unicast", eth_stats.rx_unicast),
> >> + ICE_VSI_STAT("tx_multicast", eth_stats.tx_multicast),
> >> + ICE_VSI_STAT("rx_multicast", eth_stats.rx_multicast),
> >> + ICE_VSI_STAT("tx_broadcast", eth_stats.tx_broadcast),
> >> + ICE_VSI_STAT("rx_broadcast", eth_stats.rx_broadcast),
> >> + ICE_VSI_STAT("tx_bytes", eth_stats.tx_bytes),
> >> + ICE_VSI_STAT("rx_bytes", eth_stats.rx_bytes),
> >> + ICE_VSI_STAT("rx_discards", eth_stats.rx_discards),
> >> + ICE_VSI_STAT("tx_errors", eth_stats.tx_errors),
> >> + ICE_VSI_STAT("tx_linearize", tx_linearize),
> >> + ICE_VSI_STAT("rx_unknown_protocol", eth_stats.rx_unknown_protocol),
> >> + ICE_VSI_STAT("rx_alloc_fail", rx_buf_failed),
> >> + ICE_VSI_STAT("rx_pg_alloc_fail", rx_page_failed),
> >> +};
> >> +
> >
> > Ignoring feedback from maintainers is unlikely to help get your driver adopted.
>
> Your feedback wasn't ignored, the netdev stats are gone. I double
> checked and there was this in addition to the netdev stats before so I
> think the suggestion to remove the netdev stats was just taken
> literally.
>
> The VSI is a slightly different entity from the netdev itself. A
> netdev can be backed by a VSI in the case of the PF, but the VSI can
> be used in other ways such as what we did in i40e where we were using
> it to spawn queue groups to work with mqprio as a filter target and in
> that case the queue groups wouldn't have a netdev directly associated
> with them so in that case it might make sense to leave these as
> separate stats.
>
> - Alex
Sorry I was confused because eth_stats and thought is was a copy
of net_stats. This looks good.
After reading ice_stat_update40 I can see why you needed
to know starting point.
Since ice_fetch_u64_stats_per_ring is called only by ice_update_vsi_ring_stats,
and the update is only done by watchdog and when stats are fetched;
it doesn't look like you need to use the _irq variant of u64_stats_fetch_begin.
That would save having to disable local irq's while handling stats.
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
next prev parent reply other threads:[~2018-03-16 4:41 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-15 23:47 [Intel-wired-lan] [PATCH v2 00/15] Add ice driver Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 01/15] ice: Add basic driver framework for Intel(R) E800 Series Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 02/15] ice: Add support for control queues Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 03/15] ice: Start hardware initialization Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-16 16:21 ` [Intel-wired-lan] " Shannon Nelson
2018-03-16 16:21 ` Shannon Nelson
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 04/15] ice: Get switch config, scheduler config and device capabilities Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-16 16:21 ` [Intel-wired-lan] " Shannon Nelson
2018-03-16 16:21 ` Shannon Nelson
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 05/15] ice: Get MAC/PHY/link info and scheduler topology Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 06/15] ice: Initialize PF and setup miscellaneous interrupt Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-16 16:21 ` [Intel-wired-lan] " Shannon Nelson
2018-03-16 16:21 ` Shannon Nelson
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 07/15] ice: Add support for VSI allocation and deallocation Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-16 16:21 ` [Intel-wired-lan] " Shannon Nelson
2018-03-16 16:21 ` Shannon Nelson
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 08/15] ice: Add support for switch filter programming Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 09/15] ice: Configure VSIs for Tx/Rx Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 10/15] ice: Implement transmit and NAPI support Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 11/15] ice: Add support for VLANs and offloads Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:47 ` [Intel-wired-lan] [PATCH v2 12/15] ice: Add stats and ethtool support Anirudh Venkataramanan
2018-03-15 23:47 ` Anirudh Venkataramanan
2018-03-15 23:52 ` [Intel-wired-lan] " Stephen Hemminger
2018-03-15 23:52 ` Stephen Hemminger
2018-03-16 0:50 ` [Intel-wired-lan] " Alexander Duyck
2018-03-16 0:50 ` Alexander Duyck
2018-03-16 4:41 ` Stephen Hemminger [this message]
2018-03-16 4:41 ` Stephen Hemminger
2018-03-15 23:48 ` [Intel-wired-lan] [PATCH v2 13/15] ice: Update Tx scheduler tree for VSI multi-Tx queue support Anirudh Venkataramanan
2018-03-15 23:48 ` Anirudh Venkataramanan
2018-03-15 23:48 ` [Intel-wired-lan] [PATCH v2 14/15] ice: Support link events, reset and rebuild Anirudh Venkataramanan
2018-03-15 23:48 ` Anirudh Venkataramanan
2018-03-15 23:48 ` [Intel-wired-lan] [PATCH v2 15/15] ice: Implement filter sync, NDO operations and bump version Anirudh Venkataramanan
2018-03-15 23:48 ` Anirudh Venkataramanan
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=20180315214153.5f3759e1@xeon-e3 \
--to=stephen@networkplumber.org \
--cc=intel-wired-lan@osuosl.org \
/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.