[dpdk-dev,v2] net/i40e: fix Rx hang when disable LLDP

Message ID 1476909613-28227-1-git-send-email-qi.z.zhang@intel.com
State Accepted, archived
Delegated to: Bruce Richardson
Headers show

Commit Message

Zhang, Qi Z Oct. 19, 2016, 8:40 p.m.
Remove stopping LLDP as a workaround for a known 
errata which can cause Rx hang.

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

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---

v2:
- more correct commit log.

 drivers/net/i40e/i40e_ethdev.c | 9 ---------
 1 file changed, 9 deletions(-)

Comments

Wu, Jingjing Oct. 26, 2016, 3:12 p.m. | #1
> -----Original Message-----
> From: Zhang, Qi Z
> Sent: Thursday, October 20, 2016 4:40 AM
> To: Wu, Jingjing <jingjing.wu@intel.com>; Zhang, Helin
> <helin.zhang@intel.com>
> Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> Subject: [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> 
> Remove stopping LLDP as a workaround for a known errata which can cause
> Rx hang.
> 
> Fixes: 4861cde46116 ("i40e: new poll mode driver")
> 
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>

Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Bruce Richardson Oct. 26, 2016, 3:44 p.m. | #2
On Wed, Oct 26, 2016 at 03:12:41PM +0000, Wu, Jingjing wrote:
> 
> 
> > -----Original Message-----
> > From: Zhang, Qi Z
> > Sent: Thursday, October 20, 2016 4:40 AM
> > To: Wu, Jingjing <jingjing.wu@intel.com>; Zhang, Helin
> > <helin.zhang@intel.com>
> > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> > Subject: [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> > 
> > Remove stopping LLDP as a workaround for a known errata which can cause
> > Rx hang.
> > 
> > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > 
> > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> 
> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
> 
I'm hoping to apply this patch to make it in RC2. However, there is an
errata mentioned in the commit log, so it would be good to actually
include a reference or link to the errata itself, so that the reader can
look it up himself. Can you supply such a link to the errata in
question?

/Bruce
Wu, Jingjing Oct. 26, 2016, 3:47 p.m. | #3
> -----Original Message-----
> From: Richardson, Bruce
> Sent: Wednesday, October 26, 2016 11:44 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Zhang, Helin <helin.zhang@intel.com>;
> dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> 
> On Wed, Oct 26, 2016 at 03:12:41PM +0000, Wu, Jingjing wrote:
> >
> >
> > > -----Original Message-----
> > > From: Zhang, Qi Z
> > > Sent: Thursday, October 20, 2016 4:40 AM
> > > To: Wu, Jingjing <jingjing.wu@intel.com>; Zhang, Helin
> > > <helin.zhang@intel.com>
> > > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> > > Subject: [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> > >
> > > Remove stopping LLDP as a workaround for a known errata which can cause
> > > Rx hang.
> > >
> > > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > >
> > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> >
> > Acked-by: Jingjing Wu <jingjing.wu@intel.com>
> >
> I'm hoping to apply this patch to make it in RC2. However, there is an
> errata mentioned in the commit log, so it would be good to actually
> include a reference or link to the errata itself, so that the reader can
> look it up himself. Can you supply such a link to the errata in
> question?
> 
errata #70 in the Public Spec Update with link
http://www.intel.com/content/www/us/en/embedded/products/networking/xl710-10-40-controller-spec-update.html

Thanks
Jingjing
Bruce Richardson Oct. 26, 2016, 3:51 p.m. | #4
On Wed, Oct 26, 2016 at 04:47:31PM +0100, Wu, Jingjing wrote:
> 
> 
> > -----Original Message-----
> > From: Richardson, Bruce
> > Sent: Wednesday, October 26, 2016 11:44 PM
> > To: Wu, Jingjing <jingjing.wu@intel.com>
> > Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Zhang, Helin <helin.zhang@intel.com>;
> > dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> > 
> > On Wed, Oct 26, 2016 at 03:12:41PM +0000, Wu, Jingjing wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Zhang, Qi Z
> > > > Sent: Thursday, October 20, 2016 4:40 AM
> > > > To: Wu, Jingjing <jingjing.wu@intel.com>; Zhang, Helin
> > > > <helin.zhang@intel.com>
> > > > Cc: dev@dpdk.org; Zhang, Qi Z <qi.z.zhang@intel.com>
> > > > Subject: [PATCH v2] net/i40e: fix Rx hang when disable LLDP
> > > >
> > > > Remove stopping LLDP as a workaround for a known errata which can cause
> > > > Rx hang.
> > > >
> > > > Fixes: 4861cde46116 ("i40e: new poll mode driver")
> > > >
> > > > Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> > >
> > > Acked-by: Jingjing Wu <jingjing.wu@intel.com>
> > >
> > I'm hoping to apply this patch to make it in RC2. However, there is an
> > errata mentioned in the commit log, so it would be good to actually
> > include a reference or link to the errata itself, so that the reader can
> > look it up himself. Can you supply such a link to the errata in
> > question?
> > 
> errata #70 in the Public Spec Update with link
> http://www.intel.com/content/www/us/en/embedded/products/networking/xl710-10-40-controller-spec-update.html
> 
> Thanks
> Jingjing
Applied to dpdk-next-net/rel_16_11 with errata link included in commit
message.

thanks,
/Bruce

Patch

diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 5af0e43..08e4049 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -1215,11 +1215,6 @@  eth_i40e_dev_uninit(struct rte_eth_dev *dev)
 	dev->rx_pkt_burst = NULL;
 	dev->tx_pkt_burst = NULL;
 
-	/* Disable LLDP */
-	ret = i40e_aq_stop_lldp(hw, true, NULL);
-	if (ret != I40E_SUCCESS) /* Its failure can be ignored */
-		PMD_INIT_LOG(INFO, "Failed to stop lldp");
-
 	/* Clear PXE mode */
 	i40e_clear_pxe_mode(hw);
 
@@ -9385,10 +9380,6 @@  i40e_dcb_init_configure(struct rte_eth_dev *dev, bool sw_dcb)
 	 * LLDP MIB change event.
 	 */
 	if (sw_dcb == TRUE) {
-		ret = i40e_aq_stop_lldp(hw, TRUE, NULL);
-		if (ret != I40E_SUCCESS)
-			PMD_INIT_LOG(DEBUG, "Failed to stop lldp");
-
 		ret = i40e_init_dcb(hw);
 		/* if sw_dcb, lldp agent is stopped, the return from
 		 * i40e_init_dcb we expect is failure with I40E_AQ_RC_EPERM