[v2] net/i40e: extend VF reset waiting time

Message ID 20210425020250.205597-1-wenjun1.wu@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Qi Zhang
Headers
Series [v2] net/i40e: extend VF reset waiting time |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/github-robot success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Wenjun Wu April 25, 2021, 2:02 a.m. UTC
  When resetting VF, VF will issue reset command to PF, wait a
fixed amount of time, and assume VF reset is done. However,
due to the change of dpdk related library content, the original
delay is not enough. When we use DPDK PF instead of kernel PF,
it may cause VF start error.

This patch extend VF reset waiting time from 200ms to 500ms so that
VF can start normally when using DPDK PF and DPDK VF in most cases.

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Qi Zhang April 25, 2021, 2:25 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Wenjun Wu
> Sent: Sunday, April 25, 2021 10:03 AM
> To: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/i40e: extend VF reset waiting time
> 
> When resetting VF, VF will issue reset command to PF, wait a fixed amount of
> time, and assume VF reset is done. However, due to the change of dpdk
> related library content, the original delay is not enough. When we use DPDK
> PF instead of kernel PF, it may cause VF start error.
> 
> This patch extend VF reset waiting time from 200ms to 500ms so that VF can
> start normally when using DPDK PF and DPDK VF in most cases.
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

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

Applied to dpdk-next-net-intel.

Thanks
Qi
  
Zhou, JunX W April 25, 2021, 7:44 a.m. UTC | #2
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Wenjun Wu
> Sent: Sunday, April 25, 2021 10:03 AM
> To: dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/i40e: extend VF reset waiting time


Tested-by: Zhou, Jun <junx.w.zhou@intel.com>
  
Ferruh Yigit April 28, 2021, 9:30 a.m. UTC | #3
On 4/25/2021 3:02 AM, Wenjun Wu wrote:
> When resetting VF, VF will issue reset command to PF, wait a
> fixed amount of time, and assume VF reset is done. However,
> due to the change of dpdk related library content, the original
> delay is not enough. When we use DPDK PF instead of kernel PF,
> it may cause VF start error.
> 

Hi Wenjun,

Can you please give details of the "the change of dpdk related library content"?
This can help to document the root cause of the problem.
And you can also add fixes tag for that change if it is appropriate.


> This patch extend VF reset waiting time from 200ms to 500ms so that
> VF can start normally when using DPDK PF and DPDK VF in most cases.
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> index 3c258ba7cf..aeb6816b9f 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1236,7 +1236,7 @@ i40evf_reset_vf(struct rte_eth_dev *dev)
>  	  * it to ACTIVE. In this duration, vf may not catch the moment that
>  	  * COMPLETE is set. So, for vf, we'll try to wait a long time.
>  	  */
> -	rte_delay_ms(200);
> +	rte_delay_ms(500);
>  
>  	ret = i40evf_check_vf_reset_done(dev);
>  	if (ret) {
>
  
Wenjun Wu April 29, 2021, 2:26 a.m. UTC | #4
Hi Ferruh,

I realized there were some ambiguities. I will modify commit in the new patch.

Regards,
Wenjun

-----Original Message-----
From: Yigit, Ferruh <ferruh.yigit@intel.com> 
Sent: Wednesday, April 28, 2021 5:30 PM
To: Wu, Wenjun1 <wenjun1.wu@intel.com>; dev@dpdk.org; Xing, Beilei <beilei.xing@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: extend VF reset waiting time

On 4/25/2021 3:02 AM, Wenjun Wu wrote:
> When resetting VF, VF will issue reset command to PF, wait a fixed 
> amount of time, and assume VF reset is done. However, due to the 
> change of dpdk related library content, the original delay is not 
> enough. When we use DPDK PF instead of kernel PF, it may cause VF 
> start error.
> 

Hi Wenjun,

Can you please give details of the "the change of dpdk related library content"?
This can help to document the root cause of the problem.
And you can also add fixes tag for that change if it is appropriate.


> This patch extend VF reset waiting time from 200ms to 500ms so that VF 
> can start normally when using DPDK PF and DPDK VF in most cases.
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> ---
>  drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c 
> b/drivers/net/i40e/i40e_ethdev_vf.c
> index 3c258ba7cf..aeb6816b9f 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1236,7 +1236,7 @@ i40evf_reset_vf(struct rte_eth_dev *dev)
>  	  * it to ACTIVE. In this duration, vf may not catch the moment that
>  	  * COMPLETE is set. So, for vf, we'll try to wait a long time.
>  	  */
> -	rte_delay_ms(200);
> +	rte_delay_ms(500);
>  
>  	ret = i40evf_check_vf_reset_done(dev);
>  	if (ret) {
>
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 3c258ba7cf..aeb6816b9f 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1236,7 +1236,7 @@  i40evf_reset_vf(struct rte_eth_dev *dev)
 	  * it to ACTIVE. In this duration, vf may not catch the moment that
 	  * COMPLETE is set. So, for vf, we'll try to wait a long time.
 	  */
-	rte_delay_ms(200);
+	rte_delay_ms(500);
 
 	ret = i40evf_check_vf_reset_done(dev);
 	if (ret) {