From 5a9282184aaaa902ccdd6c28209d4fd00ac631a8 Mon Sep 17 00:00:00 2001 From: liaichun Date: Sat, 30 Oct 2021 16:15:48 +0800 Subject: [PATCH] revert i40e: Fix ATR queue selection Signed-off-by: liaichun --- Fix-ATR-queue-selection.patch | 54 ----------------------------------- i40e.spec | 9 ++++-- 2 files changed, 7 insertions(+), 56 deletions(-) delete mode 100644 Fix-ATR-queue-selection.patch diff --git a/Fix-ATR-queue-selection.patch b/Fix-ATR-queue-selection.patch deleted file mode 100644 index 6a3848e..0000000 --- a/Fix-ATR-queue-selection.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a222be597e316389f9f8c26033352c124ce93056 Mon Sep 17 00:00:00 2001 -From: Arkadiusz Kubalewski -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 -Signed-off-by: Arkadiusz Kubalewski -Tested-by: Dave Switzer -Signed-off-by: Tony Nguyen -Signed-off-by: Jakub Kicinski - -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 diff --git a/i40e.spec b/i40e.spec index 5c330fc..d22b823 100644 --- a/i40e.spec +++ b/i40e.spec @@ -9,14 +9,13 @@ Name: i40e Summary: Intel(R) 40-10 Gigabit Ethernet Connection Network Driver Version: 2.14.13 -Release: 6 +Release: 7 Vendor: Intel Corporation License: GPL-2.0 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 Patch0001: fix-gcc9-new-warning.patch -Patch0002: Fix-ATR-queue-selection.patch Requires: kernel, findutils, gawk, bash, hwdata @@ -384,6 +383,12 @@ else fi %changelog +* Sat Oct 30 2021 Aichun Li - 2.14.13-7 +- Type:bugfix +- ID:NA +- SUG:NA +- DESC:rollback fix ATR queue selection + * Fri Oct 29 2021 Aichun Li - 2.14.13-6 - Type:bugfix - ID:NA