patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: Xiaoyun Li <xiaoyun.li@intel.com>
Cc: Qi Zhang <qi.z.zhang@intel.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'net/i40e: fix overwriting RSS RETA' has been queued to stable release 18.08.1
Date: Fri, 14 Dec 2018 17:51:52 +0000	[thread overview]
Message-ID: <20181214175203.24908-8-ktraynor@redhat.com> (raw)
In-Reply-To: <20181214175203.24908-1-ktraynor@redhat.com>

Hi,

FYI, your patch has been queued to stable release 18.08.1

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/18/18. 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. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Kevin Traynor

---
>From 5407bd8510903f6fbdc4b505f10363d5b190b3b1 Mon Sep 17 00:00:00 2001
From: Xiaoyun Li <xiaoyun.li@intel.com>
Date: Mon, 3 Dec 2018 16:26:32 +0800
Subject: [PATCH] net/i40e: fix overwriting RSS RETA

[ upstream commit 36c5dc8e5d3c73824fc962abd26d013f00c55cb3 ]

When starting the device, the RSS table is initialized. So the RSS
update before dev_start would be overwritten. This patch allows users
to update the RSS reta table before dev_start and adjusts the order
to set entries sequentially.

Fixes: 4861cde46116 ("i40e: new poll mode driver")

Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/i40e/i40e_ethdev.c | 21 ++++++++++++++-------
 drivers/net/i40e/i40e_ethdev.h |  3 +++
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index c4097394c..d822f30d3 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2364,4 +2364,6 @@ i40e_dev_stop(struct rte_eth_dev *dev)
 
 	hw->adapter_stopped = 1;
+
+	pf->adapter->rss_reta_updated = 0;
 }
 
@@ -4170,4 +4172,6 @@ i40e_dev_rss_reta_update(struct rte_eth_dev *dev,
 	ret = i40e_set_rss_lut(pf->main_vsi, lut, reta_size);
 
+	pf->adapter->rss_reta_updated = 1;
+
 out:
 	rte_free(lut);
@@ -8361,11 +8365,14 @@ i40e_pf_config_rss(struct i40e_pf *pf)
 	}
 
-	for (i = 0, j = 0; i < hw->func_caps.rss_table_size; i++, j++) {
-		if (j == num)
-			j = 0;
-		lut = (lut << 8) | (j & ((0x1 <<
-			hw->func_caps.rss_table_entry_width) - 1));
-		if ((i & 3) == 3)
-			I40E_WRITE_REG(hw, I40E_PFQF_HLUT(i >> 2), lut);
+	if (pf->adapter->rss_reta_updated == 0) {
+		for (i = 0, j = 0; i < hw->func_caps.rss_table_size; i++, j++) {
+			if (j == num)
+				j = 0;
+			lut = (lut << 8) | (j & ((0x1 <<
+				hw->func_caps.rss_table_entry_width) - 1));
+			if ((i & 3) == 3)
+				I40E_WRITE_REG(hw, I40E_PFQF_HLUT(i >> 2),
+					       rte_bswap32(lut));
+		}
 	}
 
diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
index b876933e5..edabf0771 100644
--- a/drivers/net/i40e/i40e_ethdev.h
+++ b/drivers/net/i40e/i40e_ethdev.h
@@ -1079,4 +1079,7 @@ struct i40e_adapter {
 	uint64_t flow_types_mask;
 	uint64_t pctypes_mask;
+
+	/* For RSS reta table update */
+	uint8_t rss_reta_updated;
 };
 
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-12-14 17:49:47.932173626 +0000
+++ 0008-net-i40e-fix-overwriting-RSS-RETA.patch	2018-12-14 17:49:47.000000000 +0000
@@ -1,15 +1,16 @@
-From 36c5dc8e5d3c73824fc962abd26d013f00c55cb3 Mon Sep 17 00:00:00 2001
+From 5407bd8510903f6fbdc4b505f10363d5b190b3b1 Mon Sep 17 00:00:00 2001
 From: Xiaoyun Li <xiaoyun.li@intel.com>
 Date: Mon, 3 Dec 2018 16:26:32 +0800
 Subject: [PATCH] net/i40e: fix overwriting RSS RETA
 
+[ upstream commit 36c5dc8e5d3c73824fc962abd26d013f00c55cb3 ]
+
 When starting the device, the RSS table is initialized. So the RSS
 update before dev_start would be overwritten. This patch allows users
 to update the RSS reta table before dev_start and adjusts the order
 to set entries sequentially.
 
 Fixes: 4861cde46116 ("i40e: new poll mode driver")
-Cc: stable@dpdk.org
 
 Signed-off-by: Xiaoyun Li <xiaoyun.li@intel.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -19,24 +20,24 @@
  2 files changed, 17 insertions(+), 7 deletions(-)
 
 diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
-index f61a12eb2..c1934d9c1 100644
+index c4097394c..d822f30d3 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -2454,4 +2454,6 @@ i40e_dev_stop(struct rte_eth_dev *dev)
+@@ -2364,4 +2364,6 @@ i40e_dev_stop(struct rte_eth_dev *dev)
  
  	hw->adapter_stopped = 1;
 +
 +	pf->adapter->rss_reta_updated = 0;
  }
  
-@@ -4265,4 +4267,6 @@ i40e_dev_rss_reta_update(struct rte_eth_dev *dev,
+@@ -4170,4 +4172,6 @@ i40e_dev_rss_reta_update(struct rte_eth_dev *dev,
  	ret = i40e_set_rss_lut(pf->main_vsi, lut, reta_size);
  
 +	pf->adapter->rss_reta_updated = 1;
 +
  out:
  	rte_free(lut);
-@@ -8502,11 +8506,14 @@ i40e_pf_config_rss(struct i40e_pf *pf)
+@@ -8361,11 +8365,14 @@ i40e_pf_config_rss(struct i40e_pf *pf)
  	}
  
 -	for (i = 0, j = 0; i < hw->func_caps.rss_table_size; i++, j++) {
@@ -59,12 +60,12 @@
  	}
  
 diff --git a/drivers/net/i40e/i40e_ethdev.h b/drivers/net/i40e/i40e_ethdev.h
-index 11ecfc30d..930eb9aba 100644
+index b876933e5..edabf0771 100644
 --- a/drivers/net/i40e/i40e_ethdev.h
 +++ b/drivers/net/i40e/i40e_ethdev.h
-@@ -1082,4 +1082,7 @@ struct i40e_adapter {
- 	/* For devargs */
- 	uint8_t use_latest_vec;
+@@ -1079,4 +1079,7 @@ struct i40e_adapter {
+ 	uint64_t flow_types_mask;
+ 	uint64_t pctypes_mask;
 +
 +	/* For RSS reta table update */
 +	uint8_t rss_reta_updated;

  parent reply	other threads:[~2018-12-14 17:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-14 17:51 [dpdk-stable] patch 'net/ixgbe/base: add LHA ID' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/bnx2x: cleanup info logs' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'examples/bond: fix crash when there is no active slave' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/mlx5: fix function documentation' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/ifcvf: fix typo on struct name' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/i40e: fix getting RSS configuration' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/ixgbe: fix Rx LRO capability offload for x550' " Kevin Traynor
2018-12-14 17:51 ` Kevin Traynor [this message]
2018-12-14 17:51 ` [dpdk-stable] patch 'net/ixgbe: fix overwriting RSS RETA' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/i40e: fix port close' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/mlx5: fix validation of Rx queue number' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'ethdev: fix typo in queue setup error log' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'doc: fix a typo in testpmd guide' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'net/cxgbe: fix control queue mbuf pool naming convention' " Kevin Traynor
2018-12-14 17:51 ` [dpdk-stable] patch 'drivers/net: fix several Tx prepare functions' " Kevin Traynor
2018-12-14 17:52 ` [dpdk-stable] patch 'vhost: fix crash after mmap failure' " Kevin Traynor
2018-12-14 17:52 ` [dpdk-stable] patch 'vhost: fix double read of descriptor flags' " Kevin Traynor
2018-12-14 17:52 ` [dpdk-stable] patch 'net/i40e: revert fix offload not supported mask' " Kevin Traynor
2018-12-14 17:52 ` [dpdk-stable] patch 'net/i40e: remove redundant reset of queue number' " 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=20181214175203.24908-8-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=qi.z.zhang@intel.com \
    --cc=stable@dpdk.org \
    --cc=xiaoyun.li@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 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).