patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Krzysztof Kanas <kkanas@marvell.com>
Cc: Chas Williams <chas3@att.com>,
	Ferruh Yigit <ferruh.yigit@intel.com>,
	dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/bonding: fix selection logic' has been queued to LTS release 18.11.6
Date: Wed, 11 Dec 2019 21:26:31 +0000	[thread overview]
Message-ID: <20191211212702.27851-39-ktraynor@redhat.com> (raw)
In-Reply-To: <20191211212702.27851-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to LTS release 18.11.6

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/17/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable-queue

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable-queue/commit/f64b3144cef8e9d14d85a303d8f7590f219e7108

Thanks.

Kevin.

---
From f64b3144cef8e9d14d85a303d8f7590f219e7108 Mon Sep 17 00:00:00 2001
From: Krzysztof Kanas <kkanas@marvell.com>
Date: Wed, 13 Nov 2019 09:22:24 +0100
Subject: [PATCH] net/bonding: fix selection logic

[ upstream commit 8d75f49e61c11bff2ecf48818f7acf4520329848 ]

Arrays agg_count and agg_bandwidth should be indexed by slave_id not by
aggregator port_id.

The new_agg_id should be chosen as slave_id from slaves table in
different selection modes.

Fixes: 6d72657ce379 ("net/bonding: add other aggregator modes")

Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
Acked-by: Chas Williams <chas3@att.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/bonding/rte_eth_bond_8023ad.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.c b/drivers/net/bonding/rte_eth_bond_8023ad.c
index def27c9f1..0beea19c4 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.c
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.c
@@ -673,7 +673,6 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
 	uint64_t agg_count[RTE_MAX_ETHPORTS] = {0};
 	uint16_t default_slave = 0;
-	uint16_t mode_count_id;
-	uint16_t mode_band_id;
 	struct rte_eth_link link_info;
+	uint16_t agg_new_idx = 0;
 
 	slaves = internals->active_slaves;
@@ -688,7 +687,7 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
 			continue;
 
-		agg_count[agg->aggregator_port_id] += 1;
+		agg_count[i] += 1;
 		rte_eth_link_get_nowait(slaves[i], &link_info);
-		agg_bandwidth[agg->aggregator_port_id] += link_info.link_speed;
+		agg_bandwidth[i] += link_info.link_speed;
 
 		/* Actors system ID is not checked since all slave device have the same
@@ -710,14 +709,14 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
 	switch (internals->mode4.agg_selection) {
 	case AGG_COUNT:
-		mode_count_id = max_index(agg_count, slaves_count);
-		new_agg_id = mode_count_id;
+		agg_new_idx = max_index(agg_count, slaves_count);
+		new_agg_id = slaves[agg_new_idx];
 		break;
 	case AGG_BANDWIDTH:
-		mode_band_id = max_index(agg_bandwidth, slaves_count);
-		new_agg_id = mode_band_id;
+		agg_new_idx = max_index(agg_bandwidth, slaves_count);
+		new_agg_id = slaves[agg_new_idx];
 		break;
 	case AGG_STABLE:
 		if (default_slave == slaves_count)
-			new_agg_id = slave_id;
+			new_agg_id = slaves[slave_id];
 		else
 			new_agg_id = slaves[default_slave];
@@ -725,5 +724,5 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
 	default:
 		if (default_slave == slaves_count)
-			new_agg_id = slave_id;
+			new_agg_id = slaves[slave_id];
 		else
 			new_agg_id = slaves[default_slave];
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-12-11 21:24:15.802475506 +0000
+++ 0039-net-bonding-fix-selection-logic.patch	2019-12-11 21:24:12.675651052 +0000
@@ -1 +1 @@
-From 8d75f49e61c11bff2ecf48818f7acf4520329848 Mon Sep 17 00:00:00 2001
+From f64b3144cef8e9d14d85a303d8f7590f219e7108 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8d75f49e61c11bff2ecf48818f7acf4520329848 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 05b3004c4..b77a37ddb 100644
+index def27c9f1..0beea19c4 100644
@@ -26 +27 @@
-@@ -674,7 +674,6 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
+@@ -673,7 +673,6 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
@@ -33 +33,0 @@
- 	int ret;
@@ -35 +35,2 @@
-@@ -697,6 +696,6 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
+ 	slaves = internals->active_slaves;
+@@ -688,7 +687,7 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
@@ -37 +38 @@
- 		}
+ 
@@ -39 +39,0 @@
--		agg_bandwidth[agg->aggregator_port_id] += link_info.link_speed;
@@ -40,0 +41,2 @@
+ 		rte_eth_link_get_nowait(slaves[i], &link_info);
+-		agg_bandwidth[agg->aggregator_port_id] += link_info.link_speed;
@@ -44 +46 @@
-@@ -719,14 +718,14 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
+@@ -710,14 +709,14 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
@@ -64 +66 @@
-@@ -734,5 +733,5 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)
+@@ -725,5 +724,5 @@ selection_logic(struct bond_dev_private *internals, uint16_t slave_id)


  parent reply	other threads:[~2019-12-11 21:28 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-11 21:25 [dpdk-stable] patch 'net/qede: fix setting MTU' " Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/qede: fix setting VLAN strip mode' " Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/ixgbe: support packet type with NEON' " Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/ixgbe: fix MACsec setting' " Kevin Traynor
2019-12-12  2:42   ` Sun, GuinanX
2019-12-12 10:01     ` Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/ixgbe: fix performance drop caused by MACsec' " Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/ixgbe: fix link status' " Kevin Traynor
2019-12-11 21:25 ` [dpdk-stable] patch 'net/bnxt: fix debug log level' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/bnxt: fix L4 checksum indication in non-vector Rx' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/bnxt: fix IP checksum error indication' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'vhost: do not limit packed ring size' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'vhost: fix build dependency on hash lib' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/virtio-user: fix setting filters' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/mlx5: allow pattern start from IP' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'ethdev: fix expand RSS flows' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'ethdev: fix item expansion for RSS flow' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'ethdev: fix last item detection on RSS flow expand' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'eal: add ack interrupt API' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/qede: use ack in interrupt handlers' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/enic: re-enable link status change interrupt' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/sfc: fix adapter lock usage on rule creation' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/testpmd: block xstats for hidden ports' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/dpaa2: fix Rx offload flags on jumbo MTU set' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples/vm_power: fix OOB frequency oscillations' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'bus/pci: align next mapping address on page boundary' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'test: optimise fd closing in forks' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'doc: fix internal links for older releases' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'doc: fix link to AESNI mb external library' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'doc/guides: clean repeated words' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'mempool: use actual IOVA addresses when populating' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'build: remove unneeded meson option' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'lib: fix log typos' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'lib: fix doxygen " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'malloc: fix realloc copy size' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'malloc: fix realloc padded element " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples/ipsec-secgw: fix default configuration' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples/fips_validation: fix auth verify' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/mlx5: fix check of RSS queue index' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/bnxt: fix crash in xstats get' " Kevin Traynor
2019-12-11 21:26 ` Kevin Traynor [this message]
2019-12-11 21:26 ` [dpdk-stable] patch 'ethdev: avoid undefined behaviour on configuration copy' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/bnxt: fix resource qcaps with older FW' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/testpmd: report invalid command line parameter' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples: hide error for missing pkg-config path flag' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'common/octeontx: add missing public symbol' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/testpmd: fix invalid port detaching' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'power: handle frequency increase with turbo disabled' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'mk: remove library search path from binary' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples/multi_process: check server port validity' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'examples/multi_process: fix client crash with sparse ports' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/eventdev: fix divide by zero' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/eventdev: check function errors' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'app/crypto-perf: fix input of AEAD decrypt' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'doc: fix l2fwd-crypto usage in CCP guide' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'crypto/ccp: fix maximum queues and burst size' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'crypto/ccp: fix CPU authentication crash' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'crypto/ccp: fix scheduling of burst' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'crypto/ccp: fix digest size capabilities' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'malloc: fix memory element size in case of padding' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'eal: fix header file install with meson' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/virtio-user: drop attribute unused for memory callback' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'doc: fix tap guide' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/e1000: fix link status update' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/ixgbe: fix link status' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/e1000: " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'net/ifc: check VFIO query error' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'ethdev: limit maximum number of queues' " Kevin Traynor
2019-12-11 21:26 ` [dpdk-stable] patch 'event/octeontx: fix partial Rx packet handling' " Kevin Traynor
2019-12-11 21:27 ` [dpdk-stable] patch 'test/service: fix wait for service core' " Kevin Traynor
2019-12-11 21:27 ` [dpdk-stable] patch 'usertools: fix typo in SPDX tag of telemetry script' " Kevin Traynor
2019-12-11 21:27 ` [dpdk-stable] patch 'doc: update arm64 cross build tool version' " Kevin Traynor

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=20191211212702.27851-39-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=chas3@att.com \
    --cc=ferruh.yigit@intel.com \
    --cc=kkanas@marvell.com \
    --cc=stable@dpdk.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).