net/i40e: extend the polling times of vf reset

Message ID 20210823034623.7467-1-chenqiming_huawei@163.com (mailing list archive)
State Not Applicable, archived
Delegated to: Qi Zhang
Headers
Series net/i40e: extend the polling times of vf reset |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/intel-Testing fail Testing issues

Commit Message

Qiming Chen Aug. 23, 2021, 3:46 a.m. UTC
  In the embedded RTOS environment, the x722 controller Ethernet card of
the d2146nt chip, the vfio user mode driver takes over 8 vf ports in
turn, but i40evf_check_vf_reset_done will probably fail.

This issue has been discussed with intel&dpdk experts for 3 rounds
before, and the version matching is no problem, and there is no
substantial progress. The official website contacted external experts,
but there was no response afterwards. Learning from the implementation
of the i40evf kernel driver locally, after modifying the polling time
from 1 second to 5s, the repeated restart process took over the start
port test, and it was found that this probability was reduced to an
order of magnitude acceptable to the user.

The patch cannot fundamentally solve the failure problem, but it greatly
slows down the probability of the problem. The modification is based on the
i40evf kernel driver.

Signed-off-by: Qiming Chen <chenqiming_huawei@163.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Qi Zhang Sept. 6, 2021, 1:56 a.m. UTC | #1
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Qiming Chen
> Sent: Monday, August 23, 2021 11:46 AM
> To: dev@dpdk.org
> Cc: Xing, Beilei <beilei.xing@intel.com>; Qiming Chen
> <chenqiming_huawei@163.com>
> Subject: [dpdk-dev] [PATCH] net/i40e: extend the polling times of vf reset
> 
> In the embedded RTOS environment, the x722 controller Ethernet card of the
> d2146nt chip, the vfio user mode driver takes over 8 vf ports in turn, but
> i40evf_check_vf_reset_done will probably fail.
> 
> This issue has been discussed with intel&dpdk experts for 3 rounds before, and
> the version matching is no problem, and there is no substantial progress. The
> official website contacted external experts, but there was no response
> afterwards. Learning from the implementation of the i40evf kernel driver locally,
> after modifying the polling time from 1 second to 5s, the repeated restart
> process took over the start port test, and it was found that this probability was
> reduced to an order of magnitude acceptable to the user.
> 
> The patch cannot fundamentally solve the failure problem, but it greatly slows
> down the probability of the problem. The modification is based on the i40evf
> kernel driver.
> 
> Signed-off-by: Qiming Chen <chenqiming_huawei@163.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 f64db72e9a..924da8dfb4 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -42,7 +42,7 @@
>  /* busy wait delay in msec */
>  #define I40EVF_BUSY_WAIT_DELAY 10
>  #define I40EVF_BUSY_WAIT_COUNT 50
> -#define MAX_RESET_WAIT_CNT     20
> +#define MAX_RESET_WAIT_CNT     100
> 
>  #define I40EVF_ALARM_INTERVAL 50000 /* us */
> 
> --
> 2.30.1.windows.1

The patch is not applied for main repo as i40evf will be removed, you can submit a fix to dpdk-stable directly.
  

Patch

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index f64db72e9a..924da8dfb4 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -42,7 +42,7 @@ 
 /* busy wait delay in msec */
 #define I40EVF_BUSY_WAIT_DELAY 10
 #define I40EVF_BUSY_WAIT_COUNT 50
-#define MAX_RESET_WAIT_CNT     20
+#define MAX_RESET_WAIT_CNT     100
 
 #define I40EVF_ALARM_INTERVAL 50000 /* us */