* [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30
@ 2021-11-30 21:19 Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 01/10] iavf: Add change MTU message Tony Nguyen
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba; +Cc: Tony Nguyen, netdev, sassmann
This series contains updates to iavf driver only.
Patryk adds a debug message when MTU is changed.
Grzegorz adds messaging when transitioning in and out of multicast
promiscuous mode.
Jake returns correct error codes for iavf_parse_cls_flower().
Jedrzej adds messaging for when the driver is removed and refactors
struct usage to take less memory. He also adjusts ethtool statistics to
only display information on active queues.
Tony allows for user to specify the RSS hash.
Karen resolves some static analysis warnings, corrects format specifiers,
and rewords a message to come across as informational.
---
v2:
- Dropped patch 1 (for net) and 5
- Change MTU message from info to debug
The following are changes since commit 196073f9c44be0b4758ead11e51bc2875f98df29:
net: ixp4xx_hss: drop kfree for memory allocated with devm_kzalloc
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 40GbE
Grzegorz Szczurek (1):
iavf: Log info when VF is entering and leaving Allmulti mode
Jacob Keller (1):
iavf: return errno code instead of status code
Jedrzej Jagielski (3):
iavf: Add trace while removing device
iavf: Refactor iavf_mac_filter struct memory usage
iavf: Fix displaying queue statistics shown by ethtool
Karen Sornek (3):
iavf: Fix static code analysis warning
iavf: Refactor text of informational message
iavf: Refactor string format to avoid static analysis warnings
Patryk Małek (1):
iavf: Add change MTU message
Tony Nguyen (1):
iavf: Enable setting RSS hash key
drivers/net/ethernet/intel/iavf/iavf.h | 10 ++--
.../net/ethernet/intel/iavf/iavf_ethtool.c | 48 +++++++++++--------
drivers/net/ethernet/intel/iavf/iavf_main.c | 29 ++++++-----
drivers/net/ethernet/intel/iavf/iavf_txrx.c | 2 +-
.../net/ethernet/intel/iavf/iavf_virtchnl.c | 24 ++++++----
5 files changed, 69 insertions(+), 44 deletions(-)
--
2.31.1
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH net-next v2 01/10] iavf: Add change MTU message
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
@ 2021-11-30 21:19 ` Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 02/10] iavf: Log info when VF is entering and leaving Allmulti mode Tony Nguyen
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba
Cc: Patryk Małek, netdev, anthony.l.nguyen, sassmann,
George Kuruvinakunnel
From: Patryk Małek <patryk.malek@intel.com>
Add a netdev_dbg log entry in case of a change of MTU so that user is
notified about this change in the same manner as in case of pf driver.
Signed-off-by: Patryk Małek <patryk.malek@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 14934a7a13ef..ec8b2e40eaca 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -3428,6 +3428,8 @@ static int iavf_change_mtu(struct net_device *netdev, int new_mtu)
{
struct iavf_adapter *adapter = netdev_priv(netdev);
+ netdev_dbg(netdev, "changing MTU from %d to %d\n",
+ netdev->mtu, new_mtu);
netdev->mtu = new_mtu;
if (CLIENT_ENABLED(adapter)) {
iavf_notify_client_l2_params(&adapter->vsi);
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 02/10] iavf: Log info when VF is entering and leaving Allmulti mode
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 01/10] iavf: Add change MTU message Tony Nguyen
@ 2021-11-30 21:19 ` Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 03/10] iavf: return errno code instead of status code Tony Nguyen
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba
Cc: Grzegorz Szczurek, netdev, anthony.l.nguyen, sassmann,
George Kuruvinakunnel
From: Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
Add log when VF is entering and leaving Allmulti mode.
The change of VF state is visible in dmesg now.
Without this commit, entering and leaving Allmulti mode
is not logged in dmesg.
Signed-off-by: Grzegorz Szczurek <grzegorzx.szczurek@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
.../net/ethernet/intel/iavf/iavf_virtchnl.c | 20 +++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
index d60bf7c21200..5c64f06d44f8 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
@@ -762,15 +762,23 @@ void iavf_set_promiscuous(struct iavf_adapter *adapter, int flags)
if (flags & FLAG_VF_MULTICAST_PROMISC) {
adapter->flags |= IAVF_FLAG_ALLMULTI_ON;
adapter->aq_required &= ~IAVF_FLAG_AQ_REQUEST_ALLMULTI;
- dev_info(&adapter->pdev->dev, "Entering multicast promiscuous mode\n");
+ dev_info(&adapter->pdev->dev, "%s is entering multicast promiscuous mode\n",
+ adapter->netdev->name);
}
if (!flags) {
- adapter->flags &= ~(IAVF_FLAG_PROMISC_ON |
- IAVF_FLAG_ALLMULTI_ON);
- adapter->aq_required &= ~(IAVF_FLAG_AQ_RELEASE_PROMISC |
- IAVF_FLAG_AQ_RELEASE_ALLMULTI);
- dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n");
+ if (adapter->flags & IAVF_FLAG_PROMISC_ON) {
+ adapter->flags &= ~IAVF_FLAG_PROMISC_ON;
+ adapter->aq_required &= ~IAVF_FLAG_AQ_RELEASE_PROMISC;
+ dev_info(&adapter->pdev->dev, "Leaving promiscuous mode\n");
+ }
+
+ if (adapter->flags & IAVF_FLAG_ALLMULTI_ON) {
+ adapter->flags &= ~IAVF_FLAG_ALLMULTI_ON;
+ adapter->aq_required &= ~IAVF_FLAG_AQ_RELEASE_ALLMULTI;
+ dev_info(&adapter->pdev->dev, "%s is leaving multicast promiscuous mode\n",
+ adapter->netdev->name);
+ }
}
adapter->current_op = VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE;
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 03/10] iavf: return errno code instead of status code
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 01/10] iavf: Add change MTU message Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 02/10] iavf: Log info when VF is entering and leaving Allmulti mode Tony Nguyen
@ 2021-11-30 21:19 ` Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 04/10] iavf: Add trace while removing device Tony Nguyen
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba
Cc: Jacob Keller, netdev, anthony.l.nguyen, sassmann,
Konrad Jankowski
From: Jacob Keller <jacob.e.keller@intel.com>
The iavf_parse_cls_flower function returns an integer error code, and
not an iavf_status enumeration.
Fix the function to use the standard errno value EINVAL as its return
instead of using IAVF_ERR_CONFIG.
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index ec8b2e40eaca..b1221aaf1e46 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -2910,7 +2910,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad ether dest mask %pM\n",
match.mask->dst);
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
@@ -2920,7 +2920,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad ether src mask %pM\n",
match.mask->src);
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
@@ -2955,7 +2955,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad vlan mask %u\n",
match.mask->vlan_id);
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
vf->mask.tcp_spec.vlan_id |= cpu_to_be16(0xffff);
@@ -2979,7 +2979,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad ip dst mask 0x%08x\n",
be32_to_cpu(match.mask->dst));
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
@@ -2989,13 +2989,13 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad ip src mask 0x%08x\n",
be32_to_cpu(match.mask->dst));
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
if (field_flags & IAVF_CLOUD_FIELD_TEN_ID) {
dev_info(&adapter->pdev->dev, "Tenant id not allowed for ip filter\n");
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
if (match.key->dst) {
vf->mask.tcp_spec.dst_ip[0] |= cpu_to_be32(0xffffffff);
@@ -3016,7 +3016,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
if (ipv6_addr_any(&match.mask->dst)) {
dev_err(&adapter->pdev->dev, "Bad ipv6 dst mask 0x%02x\n",
IPV6_ADDR_ANY);
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
/* src and dest IPv6 address should not be LOOPBACK
@@ -3026,7 +3026,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
ipv6_addr_loopback(&match.key->src)) {
dev_err(&adapter->pdev->dev,
"ipv6 addr should not be loopback\n");
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
if (!ipv6_addr_any(&match.mask->dst) ||
!ipv6_addr_any(&match.mask->src))
@@ -3051,7 +3051,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad src port mask %u\n",
be16_to_cpu(match.mask->src));
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
@@ -3061,7 +3061,7 @@ static int iavf_parse_cls_flower(struct iavf_adapter *adapter,
} else {
dev_err(&adapter->pdev->dev, "Bad dst port mask %u\n",
be16_to_cpu(match.mask->dst));
- return IAVF_ERR_CONFIG;
+ return -EINVAL;
}
}
if (match.key->dst) {
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 04/10] iavf: Add trace while removing device
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (2 preceding siblings ...)
2021-11-30 21:19 ` [PATCH net-next v2 03/10] iavf: return errno code instead of status code Tony Nguyen
@ 2021-11-30 21:19 ` Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 05/10] iavf: Enable setting RSS hash key Tony Nguyen
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba
Cc: Jedrzej Jagielski, netdev, anthony.l.nguyen, sassmann,
Arkadiusz Kubalewski, Konrad Jankowski
From: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Add kernel trace that device was removed.
Currently there is no such information.
I.e. Host admin removes a PCI device from a VM,
than on VM shall be info about the event.
This patch adds info log to iavf_remove function.
Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index b1221aaf1e46..a6f10d947d04 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -4000,6 +4000,7 @@ static void iavf_remove(struct pci_dev *pdev)
if (iavf_lock_timeout(&adapter->crit_lock, 5000))
dev_warn(&adapter->pdev->dev, "failed to acquire crit_lock in %s\n", __FUNCTION__);
+ dev_info(&adapter->pdev->dev, "Removing device\n");
/* Shut down all the garbage mashers on the detention level */
iavf_change_state(adapter, __IAVF_REMOVE);
adapter->aq_required = 0;
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 05/10] iavf: Enable setting RSS hash key
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (3 preceding siblings ...)
2021-11-30 21:19 ` [PATCH net-next v2 04/10] iavf: Add trace while removing device Tony Nguyen
@ 2021-11-30 21:19 ` Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 06/10] iavf: Refactor iavf_mac_filter struct memory usage Tony Nguyen
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:19 UTC (permalink / raw)
To: davem, kuba; +Cc: Tony Nguyen, netdev, sassmann, Tony Brelinski
Driver support for changing the RSS hash key exists, however, checks
have caused it to be reported as unsupported. Remove the check and
allow the hash key to be specified.
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Tested-by: Tony Brelinski <tony.brelinski@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_ethtool.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
index 27c7b36427d2..f0e8b5adfecc 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
@@ -1910,7 +1910,7 @@ static int iavf_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key,
* @key: hash key
* @hfunc: hash function to use
*
- * Returns -EINVAL if the table specifies an inavlid queue id, otherwise
+ * Returns -EINVAL if the table specifies an invalid queue id, otherwise
* returns 0 after programming the table.
**/
static int iavf_set_rxfh(struct net_device *netdev, const u32 *indir,
@@ -1919,19 +1919,21 @@ static int iavf_set_rxfh(struct net_device *netdev, const u32 *indir,
struct iavf_adapter *adapter = netdev_priv(netdev);
u16 i;
- /* We do not allow change in unsupported parameters */
- if (key ||
- (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP))
+ /* Only support toeplitz hash function */
+ if (hfunc != ETH_RSS_HASH_NO_CHANGE && hfunc != ETH_RSS_HASH_TOP)
return -EOPNOTSUPP;
- if (!indir)
+
+ if (!key && !indir)
return 0;
if (key)
memcpy(adapter->rss_key, key, adapter->rss_key_size);
- /* Each 32 bits pointed by 'indir' is stored with a lut entry */
- for (i = 0; i < adapter->rss_lut_size; i++)
- adapter->rss_lut[i] = (u8)(indir[i]);
+ if (indir) {
+ /* Each 32 bits pointed by 'indir' is stored with a lut entry */
+ for (i = 0; i < adapter->rss_lut_size; i++)
+ adapter->rss_lut[i] = (u8)(indir[i]);
+ }
return iavf_config_rss(adapter);
}
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 06/10] iavf: Refactor iavf_mac_filter struct memory usage
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (4 preceding siblings ...)
2021-11-30 21:19 ` [PATCH net-next v2 05/10] iavf: Enable setting RSS hash key Tony Nguyen
@ 2021-11-30 21:20 ` Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 07/10] iavf: Fix static code analysis warning Tony Nguyen
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:20 UTC (permalink / raw)
To: davem, kuba
Cc: Jedrzej Jagielski, netdev, anthony.l.nguyen, sassmann,
Sylwester Dziedziuch, Konrad Jankowski
From: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
iavf_mac_filter struct contained couple boolean
flags using up more memory than is necessary.
Change the flags to be bitfields in an anonymous struct
so all the flags now fit in one byte.
Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf.h | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf.h b/drivers/net/ethernet/intel/iavf/iavf.h
index 3789269ce741..b5728bdbcf33 100644
--- a/drivers/net/ethernet/intel/iavf/iavf.h
+++ b/drivers/net/ethernet/intel/iavf/iavf.h
@@ -137,9 +137,13 @@ struct iavf_q_vector {
struct iavf_mac_filter {
struct list_head list;
u8 macaddr[ETH_ALEN];
- bool is_new_mac; /* filter is new, wait for PF decision */
- bool remove; /* filter needs to be removed */
- bool add; /* filter needs to be added */
+ struct {
+ u8 is_new_mac:1; /* filter is new, wait for PF decision */
+ u8 remove:1; /* filter needs to be removed */
+ u8 add:1; /* filter needs to be added */
+ u8 is_primary:1; /* filter is a default VF MAC */
+ u8 padding:4;
+ };
};
struct iavf_vlan_filter {
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 07/10] iavf: Fix static code analysis warning
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (5 preceding siblings ...)
2021-11-30 21:20 ` [PATCH net-next v2 06/10] iavf: Refactor iavf_mac_filter struct memory usage Tony Nguyen
@ 2021-11-30 21:20 ` Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 08/10] iavf: Refactor text of informational message Tony Nguyen
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:20 UTC (permalink / raw)
To: davem, kuba
Cc: Karen Sornek, netdev, anthony.l.nguyen, sassmann, Paul Greenwalt,
Konrad Jankowski
From: Karen Sornek <karen.sornek@intel.com>
Change min() to min_t() to fix static code analysis warning of possible
overflow.
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Signed-off-by: Karen Sornek <karen.sornek@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_txrx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_txrx.c b/drivers/net/ethernet/intel/iavf/iavf_txrx.c
index 3525eab8e9f9..42c9f9dc235c 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_txrx.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_txrx.c
@@ -1766,7 +1766,7 @@ int iavf_napi_poll(struct napi_struct *napi, int budget)
if (likely(napi_complete_done(napi, work_done)))
iavf_update_enable_itr(vsi, q_vector);
- return min(work_done, budget - 1);
+ return min_t(int, work_done, budget - 1);
}
/**
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 08/10] iavf: Refactor text of informational message
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (6 preceding siblings ...)
2021-11-30 21:20 ` [PATCH net-next v2 07/10] iavf: Fix static code analysis warning Tony Nguyen
@ 2021-11-30 21:20 ` Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 09/10] iavf: Refactor string format to avoid static analysis warnings Tony Nguyen
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:20 UTC (permalink / raw)
To: davem, kuba
Cc: Karen Sornek, netdev, anthony.l.nguyen, sassmann, Bruce Allan,
George Kuruvinakunnel
From: Karen Sornek <karen.sornek@intel.com>
This message is intended to be informational to indicate a reset is about
to happen, but the use of "warning" in the message text can cause concern
with users. Reword the message to make it less alarming.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Karen Sornek <karen.sornek@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
index 5c64f06d44f8..b902650aa594 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
@@ -1530,7 +1530,7 @@ void iavf_virtchnl_completion(struct iavf_adapter *adapter,
iavf_print_link_message(adapter);
break;
case VIRTCHNL_EVENT_RESET_IMPENDING:
- dev_info(&adapter->pdev->dev, "Reset warning received from the PF\n");
+ dev_info(&adapter->pdev->dev, "Reset indication received from the PF\n");
if (!(adapter->flags & IAVF_FLAG_RESET_PENDING)) {
adapter->flags |= IAVF_FLAG_RESET_PENDING;
dev_info(&adapter->pdev->dev, "Scheduling reset task\n");
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 09/10] iavf: Refactor string format to avoid static analysis warnings
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (7 preceding siblings ...)
2021-11-30 21:20 ` [PATCH net-next v2 08/10] iavf: Refactor text of informational message Tony Nguyen
@ 2021-11-30 21:20 ` Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 10/10] iavf: Fix displaying queue statistics shown by ethtool Tony Nguyen
2021-12-01 15:00 ` [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:20 UTC (permalink / raw)
To: davem, kuba
Cc: Karen Sornek, netdev, anthony.l.nguyen, sassmann,
Michal Swiatkowski, George Kuruvinakunnel
From: Karen Sornek <karen.sornek@intel.com>
Change format to match variable type that is used in string.
Use %u format for unsigned variable and %d format for signed variable
to remove static analysis warnings.
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>
Signed-off-by: Karen Sornek <karen.sornek@intel.com>
Tested-by: George Kuruvinakunnel <george.kuruvinakunnel@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 6 +++---
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c
index a6f10d947d04..285c0e28ec98 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -463,14 +463,14 @@ iavf_request_traffic_irqs(struct iavf_adapter *adapter, char *basename)
if (q_vector->tx.ring && q_vector->rx.ring) {
snprintf(q_vector->name, sizeof(q_vector->name),
- "iavf-%s-TxRx-%d", basename, rx_int_idx++);
+ "iavf-%s-TxRx-%u", basename, rx_int_idx++);
tx_int_idx++;
} else if (q_vector->rx.ring) {
snprintf(q_vector->name, sizeof(q_vector->name),
- "iavf-%s-rx-%d", basename, rx_int_idx++);
+ "iavf-%s-rx-%u", basename, rx_int_idx++);
} else if (q_vector->tx.ring) {
snprintf(q_vector->name, sizeof(q_vector->name),
- "iavf-%s-tx-%d", basename, tx_int_idx++);
+ "iavf-%s-tx-%u", basename, tx_int_idx++);
} else {
/* skip this unused q_vector */
continue;
diff --git a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
index b902650aa594..cfa1f0e0e2fe 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c
@@ -1025,7 +1025,7 @@ static void iavf_print_link_message(struct iavf_adapter *adapter)
} else if (link_speed_mbps == SPEED_UNKNOWN) {
snprintf(speed, IAVF_MAX_SPEED_STRLEN, "%s", "Unknown Mbps");
} else {
- snprintf(speed, IAVF_MAX_SPEED_STRLEN, "%u %s",
+ snprintf(speed, IAVF_MAX_SPEED_STRLEN, "%d %s",
link_speed_mbps, "Mbps");
}
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH net-next v2 10/10] iavf: Fix displaying queue statistics shown by ethtool
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (8 preceding siblings ...)
2021-11-30 21:20 ` [PATCH net-next v2 09/10] iavf: Refactor string format to avoid static analysis warnings Tony Nguyen
@ 2021-11-30 21:20 ` Tony Nguyen
2021-12-01 15:00 ` [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: Tony Nguyen @ 2021-11-30 21:20 UTC (permalink / raw)
To: davem, kuba
Cc: Jedrzej Jagielski, netdev, anthony.l.nguyen, sassmann,
Witold Fijalkowski, Przemyslaw Patynowski, Mateusz Palczewski,
Konrad Jankowski
From: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Driver provided too many lines as an output to ethtool -S command.
Return actual length of string set of ethtool stats. Instead of predefined
maximal value use the actual value on netdev, iterate over active queues.
Without this patch, ethtool -S report would produce additional
erroneous lines of queues that are not configured.
Signed-off-by: Witold Fijalkowski <witoldx.fijalkowski@intel.com>
Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
.../net/ethernet/intel/iavf/iavf_ethtool.c | 30 ++++++++++++-------
1 file changed, 19 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
index f0e8b5adfecc..1d01d6be8a86 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
@@ -331,9 +331,16 @@ static int iavf_get_link_ksettings(struct net_device *netdev,
**/
static int iavf_get_sset_count(struct net_device *netdev, int sset)
{
+ /* Report the maximum number queues, even if not every queue is
+ * currently configured. Since allocation of queues is in pairs,
+ * use netdev->real_num_tx_queues * 2. The real_num_tx_queues is set
+ * at device creation and never changes.
+ */
+
if (sset == ETH_SS_STATS)
return IAVF_STATS_LEN +
- (IAVF_QUEUE_STATS_LEN * 2 * IAVF_MAX_REQ_QUEUES);
+ (IAVF_QUEUE_STATS_LEN * 2 *
+ netdev->real_num_tx_queues);
else if (sset == ETH_SS_PRIV_FLAGS)
return IAVF_PRIV_FLAGS_STR_LEN;
else
@@ -360,17 +367,18 @@ static void iavf_get_ethtool_stats(struct net_device *netdev,
iavf_add_ethtool_stats(&data, adapter, iavf_gstrings_stats);
rcu_read_lock();
- for (i = 0; i < IAVF_MAX_REQ_QUEUES; i++) {
+ /* As num_active_queues describe both tx and rx queues, we can use
+ * it to iterate over rings' stats.
+ */
+ for (i = 0; i < adapter->num_active_queues; i++) {
struct iavf_ring *ring;
- /* Avoid accessing un-allocated queues */
- ring = (i < adapter->num_active_queues ?
- &adapter->tx_rings[i] : NULL);
+ /* Tx rings stats */
+ ring = &adapter->tx_rings[i];
iavf_add_queue_stats(&data, ring);
- /* Avoid accessing un-allocated queues */
- ring = (i < adapter->num_active_queues ?
- &adapter->rx_rings[i] : NULL);
+ /* Rx rings stats */
+ ring = &adapter->rx_rings[i];
iavf_add_queue_stats(&data, ring);
}
rcu_read_unlock();
@@ -407,10 +415,10 @@ static void iavf_get_stat_strings(struct net_device *netdev, u8 *data)
iavf_add_stat_strings(&data, iavf_gstrings_stats);
- /* Queues are always allocated in pairs, so we just use num_tx_queues
- * for both Tx and Rx queues.
+ /* Queues are always allocated in pairs, so we just use
+ * real_num_tx_queues for both Tx and Rx queues.
*/
- for (i = 0; i < netdev->num_tx_queues; i++) {
+ for (i = 0; i < netdev->real_num_tx_queues; i++) {
iavf_add_stat_strings(&data, iavf_gstrings_queue_stats,
"tx", i);
iavf_add_stat_strings(&data, iavf_gstrings_queue_stats,
--
2.31.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
` (9 preceding siblings ...)
2021-11-30 21:20 ` [PATCH net-next v2 10/10] iavf: Fix displaying queue statistics shown by ethtool Tony Nguyen
@ 2021-12-01 15:00 ` patchwork-bot+netdevbpf
10 siblings, 0 replies; 12+ messages in thread
From: patchwork-bot+netdevbpf @ 2021-12-01 15:00 UTC (permalink / raw)
To: Tony Nguyen; +Cc: davem, kuba, netdev, sassmann
Hello:
This series was applied to netdev/net-next.git (master)
by Tony Nguyen <anthony.l.nguyen@intel.com>:
On Tue, 30 Nov 2021 13:19:54 -0800 you wrote:
> This series contains updates to iavf driver only.
>
> Patryk adds a debug message when MTU is changed.
>
> Grzegorz adds messaging when transitioning in and out of multicast
> promiscuous mode.
>
> [...]
Here is the summary with links:
- [net-next,v2,01/10] iavf: Add change MTU message
https://git.kernel.org/netdev/net-next/c/aeb5d11fd1ef
- [net-next,v2,02/10] iavf: Log info when VF is entering and leaving Allmulti mode
https://git.kernel.org/netdev/net-next/c/f1db020ba4ef
- [net-next,v2,03/10] iavf: return errno code instead of status code
https://git.kernel.org/netdev/net-next/c/9f4651ea3e07
- [net-next,v2,04/10] iavf: Add trace while removing device
https://git.kernel.org/netdev/net-next/c/bdb9e5c7aec7
- [net-next,v2,05/10] iavf: Enable setting RSS hash key
https://git.kernel.org/netdev/net-next/c/b231b59a2f96
- [net-next,v2,06/10] iavf: Refactor iavf_mac_filter struct memory usage
https://git.kernel.org/netdev/net-next/c/4d0dbd9678ad
- [net-next,v2,07/10] iavf: Fix static code analysis warning
https://git.kernel.org/netdev/net-next/c/349181b7b863
- [net-next,v2,08/10] iavf: Refactor text of informational message
https://git.kernel.org/netdev/net-next/c/fbe66f57d371
- [net-next,v2,09/10] iavf: Refactor string format to avoid static analysis warnings
https://git.kernel.org/netdev/net-next/c/c2fbcc94d511
- [net-next,v2,10/10] iavf: Fix displaying queue statistics shown by ethtool
https://git.kernel.org/netdev/net-next/c/64430f70ba6f
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-12-01 15:00 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-30 21:19 [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 01/10] iavf: Add change MTU message Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 02/10] iavf: Log info when VF is entering and leaving Allmulti mode Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 03/10] iavf: return errno code instead of status code Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 04/10] iavf: Add trace while removing device Tony Nguyen
2021-11-30 21:19 ` [PATCH net-next v2 05/10] iavf: Enable setting RSS hash key Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 06/10] iavf: Refactor iavf_mac_filter struct memory usage Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 07/10] iavf: Fix static code analysis warning Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 08/10] iavf: Refactor text of informational message Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 09/10] iavf: Refactor string format to avoid static analysis warnings Tony Nguyen
2021-11-30 21:20 ` [PATCH net-next v2 10/10] iavf: Fix displaying queue statistics shown by ethtool Tony Nguyen
2021-12-01 15:00 ` [PATCH net-next v2 00/10][pull request] 40GbE Intel Wired LAN Driver Updates 2021-11-30 patchwork-bot+netdevbpf
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.