!15 fix ATR queue selection
From: @gebidelidaye Reviewed-by: @wangxp006 Signed-off-by: @wangxp006
This commit is contained in:
commit
b0ff6a8832
54
Fix-ATR-queue-selection.patch
Normal file
54
Fix-ATR-queue-selection.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From a222be597e316389f9f8c26033352c124ce93056 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
|
||||||
|
Date: Wed, 18 Aug 2021 10:42:16 -0700
|
||||||
|
Subject: i40e: Fix ATR queue selection
|
||||||
|
|
||||||
|
Without this patch, ATR does not work. Receive/transmit uses queue
|
||||||
|
selection based on SW DCB hashing method.
|
||||||
|
|
||||||
|
If traffic classes are not configured for PF, then use
|
||||||
|
netdev_pick_tx function for selecting queue for packet transmission.
|
||||||
|
Instead of calling i40e_swdcb_skb_tx_hash, call netdev_pick_tx,
|
||||||
|
which ensures that packet is transmitted/received from CPU that is
|
||||||
|
running the application.
|
||||||
|
|
||||||
|
Reproduction steps:
|
||||||
|
1. Load i40e driver
|
||||||
|
2. Map each MSI interrupt of i40e port for each CPU
|
||||||
|
3. Disable ntuple, enable ATR i.e.:
|
||||||
|
ethtool -K $interface ntuple off
|
||||||
|
ethtool --set-priv-flags $interface flow-director-atr
|
||||||
|
4. Run application that is generating traffic and is bound to a
|
||||||
|
single CPU, i.e.:
|
||||||
|
taskset -c 9 netperf -H 1.1.1.1 -t TCP_RR -l 10
|
||||||
|
5. Observe behavior:
|
||||||
|
Application's traffic should be restricted to the CPU provided in
|
||||||
|
taskset.
|
||||||
|
|
||||||
|
Fixes: 89ec1f0886c1 ("i40e: Fix queue-to-TC mapping on Tx")
|
||||||
|
Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
|
||||||
|
Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
|
||||||
|
Tested-by: Dave Switzer <david.switzer@intel.com>
|
||||||
|
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
|
||||||
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||||
|
|
||||||
|
Reference:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a222be597e316389f9f8c26033352c124ce93056
|
||||||
|
Conflicting:Replaced some interface for adapting to the current kernel
|
||||||
|
---
|
||||||
|
diff --git a/src/i40e_txrx.c b/src/i40e_txrx.c
|
||||||
|
index 0ca5a17..8236cde 100644
|
||||||
|
--- a/src/i40e_txrx.c
|
||||||
|
+++ b/src/i40e_txrx.c
|
||||||
|
@@ -4189,8 +4189,7 @@ u16 i40e_lan_select_queue(struct net_device
|
||||||
|
*netdev,
|
||||||
|
|
||||||
|
/* is DCB enabled at all? */
|
||||||
|
if (vsi->tc_config.numtc == 1)
|
||||||
|
- return i40e_swdcb_skb_tx_hash(netdev, skb,
|
||||||
|
- netdev->real_num_tx_queues);
|
||||||
|
+ return fallback(netdev, skb, sb_dev);
|
||||||
|
|
||||||
|
prio = skb->priority;
|
||||||
|
hw = &vsi->back->hw;
|
||||||
|
--
|
||||||
|
cgit 1.2.3-1.el7
|
||||||
@ -9,13 +9,14 @@
|
|||||||
Name: i40e
|
Name: i40e
|
||||||
Summary: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver
|
Summary: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver
|
||||||
Version: 2.14.13
|
Version: 2.14.13
|
||||||
Release: 5
|
Release: 6
|
||||||
Vendor: Intel Corporation
|
Vendor: Intel Corporation
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
URL: http://support.intel.com
|
URL: http://support.intel.com
|
||||||
Source0: https://downloadcenter.intel.com/download/24411/Intel-Network-Adapter-Driver-for-PCIe-40-Gigabit-Ethernet-Network-Connections-Under-Linux-/%{name}-%{version}.tar.gz
|
Source0: https://downloadcenter.intel.com/download/24411/Intel-Network-Adapter-Driver-for-PCIe-40-Gigabit-Ethernet-Network-Connections-Under-Linux-/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
Patch0001: fix-gcc9-new-warning.patch
|
Patch0001: fix-gcc9-new-warning.patch
|
||||||
|
Patch0002: Fix-ATR-queue-selection.patch
|
||||||
|
|
||||||
Requires: kernel, findutils, gawk, bash, hwdata
|
Requires: kernel, findutils, gawk, bash, hwdata
|
||||||
|
|
||||||
@ -383,6 +384,12 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 29 2021 Aichun Li <liaichun@huawei.com> - 2.14.13-6
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix ATR queue selection
|
||||||
|
|
||||||
* Wed Jul 7 2021 gaihuiying <gaihuiying1@huawei.com> - 2.14.13-5
|
* Wed Jul 7 2021 gaihuiying <gaihuiying1@huawei.com> - 2.14.13-5
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- ID:NA
|
- ID:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user