patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Olivier Matz <olivier.matz@6wind.com>
To: "fengtian Guo" <fengtian.guo@6wind.com>
Cc: "Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Zhang, Helin" <helin.zhang@intel.com>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"stable@dpdk.org" <stable@dpdk.org>,
	"David Marchand" <david.marchand@6wind.com>
Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] net/ixgbevf: reset hardware whenstoppingport
Date: Fri, 24 Feb 2017 11:42:56 +0100	[thread overview]
Message-ID: <20170224114256.186222f0@platinum> (raw)
In-Reply-To: <tencent_0F0029B4681AECF920B4A038@qq.com>

Hi Fengtian,

On Fri, 24 Feb 2017 18:15:27 +0800, "fengtian Guo"
<fengtian.guo@6wind.com> wrote:
> Hi, Wenzhuo
> 
> The attachment is test report without product.

The test report uses is a use-case with 6WINDGate, so it cannot be
reproduced by Intel guys.

I'll see how to reproduce the same case with testpmd and send an
update.

Thanks,
Olivier





> 
>  
> ------------------ Original ------------------
> From:  "Lu, Wenzhuo"<wenzhuo.lu@intel.com>;
> Date:  Fri, Feb 24, 2017 04:54 PM
> To:  "fengtian Guo"<fengtian.guo@6wind.com>; "Olivier
> Matz"<olivier.matz@6wind.com>; "dev@dpdk.org"<dev@dpdk.org>; "Zhang,
> Helin"<helin.zhang@intel.com>; "Ananyev,
> Konstantin"<konstantin.ananyev@intel.com>; Cc:
> "stable@dpdk.org"<stable@dpdk.org>; "David
> Marchand"<david.marchand@6wind.com>; Subject:  RE: Re:RE: [dpdk-dev]
> [PATCH] net/ixgbevf: reset hardware whenstoppingport
> 
>  
>   
> Hi Fengtian,
>  
> Would you like to let us know how you validate this patch? As I’ve
> tried just stop -> start VF  can make it work again after PF down ->
> up. Thanks. 
>  
>  
>     
> From: fengtian.guo@6wind.com.cn [mailto:fengtian.guo@6wind.com.cn] On
> Behalf Of fengtian Guo Sent: Friday, February 24, 2017 4:47 PM
>  To: Lu, Wenzhuo; Olivier Matz; dev@dpdk.org; Zhang, Helin; Ananyev,
> Konstantin Cc: stable@dpdk.org; David Marchand
>  Subject: Re:RE: [dpdk-dev] [PATCH] net/ixgbevf: reset hardware when
> stoppingport 
>  
>  
>  
>  
> Hi, Wenzhuo
>  
>  Sorry, Now I just notice the email is related with me.
>  
>  > Seems the commit log doesn't match the code change.
>  > This change cannot resolve the described problem. The problem is
>  > VF doesn't handle the PF reset event. Moving the hw_reset from
>  > close to stop doesn't help and not necessary. Because PF has
>  > already reset VF stuff during resetting itself, that's why VF not
>  > working anymore.  
>  
>  Explain the problem of this issue.
>  1) it seems VF have to call ixgbe_reset_hw() when it receive PF
> reset event. it seems VF is client and PF is server and VF has to
> reset the register on his side, after PF has reset the register on
> his side. 2) with this patch, when VF receive the event after PF is
> set link down, it will call ixgbe_reset_hw() in ixgbevf_dev_close().
> and we have validate this patch 
>  
>  Thanks
>  Fengtian
>    
>  
>  
>   
>  
>  
>    
> ------------------ Original ------------------
>  
>    
> From:  "Lu, Wenzhuo"<wenzhuo.lu@intel.com>;
>  
>   
> Date:  Fri, Feb 24, 2017 01:21 PM
>  
>   
> To:  "Olivier Matz"<olivier.matz@6wind.com>;
> "dev@dpdk.org"<dev@dpdk.org>; "Zhang, Helin"<helin.zhang@intel.com>;
> "Ananyev, Konstantin"<konstantin.ananyev@intel.com>; 
> Cc:  "Guo Fengtian"<fengtian.guo@6wind.com>;
> "stable@dpdk.org"<stable@dpdk.org>; "David
> Marchand"<david.marchand@6wind.com>; 
> Subject:  RE: [dpdk-dev] [PATCH] net/ixgbevf: reset hardware when
> stoppingport 
>  
>   
>  
>  
>  
> Hi Olivier, Fengtian,
>  
>  
>  > -----Original Message-----
>  > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Olivier Matz
>  > Sent: Thursday, January 12, 2017 12:52 AM
>  > To: dev@dpdk.org; Zhang, Helin; Ananyev, Konstantin
>  > Cc: Guo Fengtian; stable@dpdk.org; David Marchand
>  > Subject: [dpdk-dev] [PATCH] net/ixgbevf: reset hardware when
>  > stopping port
>  > 
>  > From: Guo Fengtian <fengtian.guo@6wind.com>
>  > 
>  > When PF triggers a reset, VF port must acknowledge it by calling
>  > ixgbe_reset_hw().
>  > 
>  > Before this patch, the port link status, speed and duplex are
>  > invalid (all set to 0).
>  > 
>  > The patch move the call to ixgbe_reset_hw() from
>  > ixgbevf_dev_close() to ixgbevf_dev_stop(), so that after a port
>  > restart on the VM, the link status is properly marked down, with
>  > correct speed and duplex.
>  > 
>  > Fixes: f0160874c041 ("ixgbe: various updates")
>  > 
>  > CC: stable@dpdk.org
>  > Signed-off-by: Guo Fengtian <fengtian.guo@6wind.com>
>  > Signed-off-by: David Marchand <david.marchand@6wind.com>
>  > Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
>  > ---
>  > 
>  > Hi,
>  > 
>  > The use case for this problem was described some time ago, see:
>  > http://dpdk.org/ml/archives/dev/2015-December/030067.html
>  > 
>  > It is also part of 2.2 release note:
>  >  http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_2_2.rst#n4
>  > 71
>  > 
>  > Regards,
>  > Olivier  
>  Seems the commit log doesn't match the code change.
>  This change cannot resolve the described problem. The problem is VF
> doesn't handle the PF reset event. Moving the hw_reset from close to
> stop doesn't help and not necessary. Because PF has already reset VF
> stuff during  resetting itself, that's why VF not working anymore. 
>  > 
>  > 
>  >  drivers/net/ixgbe/ixgbe_ethdev.c | 5 +----
>  >  1 file changed, 1 insertion(+), 4 deletions(-)
>  > 
>  > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
>  > b/drivers/net/ixgbe/ixgbe_ethdev.c
>  > index b7ddd4f..2d8641a 100644
>  > --- a/drivers/net/ixgbe/ixgbe_ethdev.c
>  > +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
>  > @@ -4268,6 +4268,7 @@ ixgbevf_dev_stop(struct rte_eth_dev *dev)
>  >  PMD_INIT_FUNC_TRACE();
>  > 
>  >  ixgbevf_intr_disable(hw);
>  > + ixgbe_reset_hw(hw);
>  > 
>  >  hw->adapter_stopped = 1;
>  >  ixgbe_stop_adapter(hw);
>  > @@ -4294,12 +4295,8 @@ ixgbevf_dev_stop(struct rte_eth_dev *dev)
>  > static void  ixgbevf_dev_close(struct rte_eth_dev *dev)  {
>  > - struct ixgbe_hw *hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data-  
>  > >dev_private);  
>  > -
>  >  PMD_INIT_FUNC_TRACE();
>  > 
>  > - ixgbe_reset_hw(hw);
>  > -
>  >  ixgbevf_dev_stop(dev);
>  > 
>  >  ixgbe_dev_free_queues(dev);
>  > --
>  > 2.8.  

  reply	other threads:[~2017-02-24 10:42 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-11 16:52 [dpdk-stable] [PATCH] net/ixgbevf: reset hardware when stopping port Olivier Matz
2017-02-06 13:58 ` [dpdk-stable] [dpdk-dev] " Olivier Matz
2017-02-24  5:21 ` Lu, Wenzhuo
2017-02-24  8:47   ` [dpdk-stable] [dpdk-dev] [PATCH] net/ixgbevf: reset hardware when stoppingport fengtian Guo
2017-02-24  8:54     ` Lu, Wenzhuo
2017-02-24 10:15       ` [dpdk-stable] [dpdk-dev] [PATCH] net/ixgbevf: reset hardware whenstoppingport fengtian Guo
2017-02-24 10:42         ` Olivier Matz [this message]
2017-02-27 14:21           ` Olivier Matz

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=20170224114256.186222f0@platinum \
    --to=olivier.matz@6wind.com \
    --cc=david.marchand@6wind.com \
    --cc=dev@dpdk.org \
    --cc=fengtian.guo@6wind.com \
    --cc=helin.zhang@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=stable@dpdk.org \
    --cc=wenzhuo.lu@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).