All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Oros <poros@redhat.com>
To: netdev@vger.kernel.org
Cc: Wojciech Drewek <wojciech.drewek@intel.com>,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	Eric Dumazet <edumazet@google.com>,
	linux-kernel@vger.kernel.org, Andrew Lunn <andrew+netdev@lunn.ch>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Simon Horman <horms@kernel.org>,
	Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	intel-wired-lan@lists.osuosl.org
Subject: [Intel-wired-lan] [PATCH iwl-net 0/2] ice: fix representor stats in switchdev mode
Date: Thu, 12 Feb 2026 08:53:09 +0100	[thread overview]
Message-ID: <cover.1770882260.git.poros@redhat.com> (raw)

Port representor statistics in switchdev mode are completely broken due
to two independent bugs:

1) ice_repr_ready_vf() has inverted logic — it returns "not ready" when
   the VF is actually ready, causing all ethtool and ndo_get_stats64
   callbacks to bail out early.

2) Even with the readiness check fixed, ice_update_vsi_stats() always
   returns early for VF VSIs because ICE_VSI_DOWN is permanently set.
   The stats counters are never updated from hardware.

Patch 1 fixes the inverted readiness check.
Patch 2 switches to ice_update_eth_stats() which reads the GLV_*
hardware counters directly, matching what ice_get_vf_stats() already
does for VF stats in legacy mode.

Petr Oros (2):
  ice: fix inverted ready check for VF representors
  ice: use ice_update_eth_stats() for representor stats

 drivers/net/ethernet/intel/ice/ice_ethtool.c | 14 +++++++++++---
 drivers/net/ethernet/intel/ice/ice_repr.c    |  5 +++--
 2 files changed, 14 insertions(+), 5 deletions(-)

--
2.52.0


WARNING: multiple messages have this Message-ID (diff)
From: Petr Oros <poros@redhat.com>
To: netdev@vger.kernel.org
Cc: Petr Oros <poros@redhat.com>,
	Tony Nguyen <anthony.l.nguyen@intel.com>,
	Przemek Kitszel <przemyslaw.kitszel@intel.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Michal Swiatkowski <michal.swiatkowski@linux.intel.com>,
	Wojciech Drewek <wojciech.drewek@intel.com>,
	Simon Horman <horms@kernel.org>,
	intel-wired-lan@lists.osuosl.org, linux-kernel@vger.kernel.org
Subject: [PATCH iwl-net 0/2] ice: fix representor stats in switchdev mode
Date: Thu, 12 Feb 2026 08:53:09 +0100	[thread overview]
Message-ID: <cover.1770882260.git.poros@redhat.com> (raw)

Port representor statistics in switchdev mode are completely broken due
to two independent bugs:

1) ice_repr_ready_vf() has inverted logic — it returns "not ready" when
   the VF is actually ready, causing all ethtool and ndo_get_stats64
   callbacks to bail out early.

2) Even with the readiness check fixed, ice_update_vsi_stats() always
   returns early for VF VSIs because ICE_VSI_DOWN is permanently set.
   The stats counters are never updated from hardware.

Patch 1 fixes the inverted readiness check.
Patch 2 switches to ice_update_eth_stats() which reads the GLV_*
hardware counters directly, matching what ice_get_vf_stats() already
does for VF stats in legacy mode.

Petr Oros (2):
  ice: fix inverted ready check for VF representors
  ice: use ice_update_eth_stats() for representor stats

 drivers/net/ethernet/intel/ice/ice_ethtool.c | 14 +++++++++++---
 drivers/net/ethernet/intel/ice/ice_repr.c    |  5 +++--
 2 files changed, 14 insertions(+), 5 deletions(-)

--
2.52.0


             reply	other threads:[~2026-02-12  7:53 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-12  7:53 Petr Oros [this message]
2026-02-12  7:53 ` [PATCH iwl-net 0/2] ice: fix representor stats in switchdev mode Petr Oros
2026-02-12  7:53 ` [Intel-wired-lan] [PATCH iwl-net 1/2] ice: fix inverted ready check for VF representors Petr Oros
2026-02-12  7:53   ` Petr Oros
2026-02-12  8:24   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-02-12  8:24     ` Loktionov, Aleksandr
2026-02-12  9:47   ` Michal Swiatkowski
2026-02-12  9:47     ` Michal Swiatkowski
2026-03-19  9:10     ` [Intel-wired-lan] " Holda, Patryk
2026-03-19 10:38     ` Holda, Patryk
2026-03-19 10:38       ` Holda, Patryk
2026-02-12  7:53 ` [Intel-wired-lan] [PATCH iwl-net 2/2] ice: use ice_update_eth_stats() for representor stats Petr Oros
2026-02-12  7:53   ` Petr Oros
2026-02-12  8:24   ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-02-12  8:24     ` Loktionov, Aleksandr
2026-03-19  9:27     ` Holda, Patryk
2026-03-19 10:37     ` Holda, Patryk
2026-03-19 10:37       ` Holda, Patryk
2026-03-19  9:12   ` Holda, Patryk

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=cover.1770882260.git.poros@redhat.com \
    --to=poros@redhat.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.swiatkowski@linux.intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=przemyslaw.kitszel@intel.com \
    --cc=wojciech.drewek@intel.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.