net/ixgbe: increase vf reset timeout

Message ID 20240130100027.39466-1-ktraynor@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers
Series net/ixgbe: increase vf reset timeout |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/intel-Functional success Functional PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Kevin Traynor Jan. 30, 2024, 10 a.m. UTC
  When vf issues a reset to pf there is a 50 msec wait plus an additional
max of 1 msec for the pf to indicate the reset is complete before
timeout.

In some cases, it is seen that the reset is timing out, in which case
the reset does not complete and an error is returned.

In order to account for this, continue to wait an initial 50 msecs,
but then allow a max of an additional 50 msecs for the command to
complete.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
---
 drivers/net/ixgbe/base/ixgbe_type.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kevin Traynor Feb. 27, 2024, 10:56 a.m. UTC | #1
Hi Bruce,

I see you are the lucky delegate for this patch :-)

https://patchwork.dpdk.org/project/dpdk/patch/20240130100027.39466-1-ktraynor@redhat.com/

Just wondering if any comment and if it's planned for 23.03 or later
release ?

thanks,
Kevin.

On 30/01/2024 10:00, Kevin Traynor wrote:
> When vf issues a reset to pf there is a 50 msec wait plus an additional
> max of 1 msec for the pf to indicate the reset is complete before
> timeout.
> 
> In some cases, it is seen that the reset is timing out, in which case
> the reset does not complete and an error is returned.
> 
> In order to account for this, continue to wait an initial 50 msecs,
> but then allow a max of an additional 50 msecs for the command to
> complete.
> 
> Fixes: af75078fece3 ("first public release")
> 
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> ---
>  drivers/net/ixgbe/base/ixgbe_type.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h
> index 1094df5891..35212a561b 100644
> --- a/drivers/net/ixgbe/base/ixgbe_type.h
> +++ b/drivers/net/ixgbe/base/ixgbe_type.h
> @@ -1801,5 +1801,5 @@ enum {
>  #define IXGBE_VFRE_ENABLE_ALL	0xFFFFFFFF
>  
> -#define IXGBE_VF_INIT_TIMEOUT	200 /* Number of retries to clear RSTI */
> +#define IXGBE_VF_INIT_TIMEOUT	10000 /* Number of retries to clear RSTI */
>  
>  /* RDHMPN and TDHMPN bitmasks */
  
Vladimir Medvedkin Feb. 27, 2024, 12:35 p.m. UTC | #2
On 30/01/2024 10:00, Kevin Traynor wrote:
> When vf issues a reset to pf there is a 50 msec wait plus an additional
> max of 1 msec for the pf to indicate the reset is complete before
> timeout.
>
> In some cases, it is seen that the reset is timing out, in which case
> the reset does not complete and an error is returned.
>
> In order to account for this, continue to wait an initial 50 msecs,
> but then allow a max of an additional 50 msecs for the command to
> complete.
>
> Fixes: af75078fece3 ("first public release")
>
> Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> ---
>   drivers/net/ixgbe/base/ixgbe_type.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h
> index 1094df5891..35212a561b 100644
> --- a/drivers/net/ixgbe/base/ixgbe_type.h
> +++ b/drivers/net/ixgbe/base/ixgbe_type.h
> @@ -1801,5 +1801,5 @@ enum {
>   #define IXGBE_VFRE_ENABLE_ALL	0xFFFFFFFF
>   
> -#define IXGBE_VF_INIT_TIMEOUT	200 /* Number of retries to clear RSTI */
> +#define IXGBE_VF_INIT_TIMEOUT	10000 /* Number of retries to clear RSTI */
>   
>   /* RDHMPN and TDHMPN bitmasks */

Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
  
Bruce Richardson Feb. 29, 2024, 2:43 p.m. UTC | #3
On Tue, Feb 27, 2024 at 12:35:28PM +0000, Medvedkin, Vladimir wrote:
> On 30/01/2024 10:00, Kevin Traynor wrote:
> > When vf issues a reset to pf there is a 50 msec wait plus an additional
> > max of 1 msec for the pf to indicate the reset is complete before
> > timeout.
> > 
> > In some cases, it is seen that the reset is timing out, in which case
> > the reset does not complete and an error is returned.
> > 
> > In order to account for this, continue to wait an initial 50 msecs,
> > but then allow a max of an additional 50 msecs for the command to
> > complete.
> > 
> > Fixes: af75078fece3 ("first public release")

Cc: stable@dpdk.org

> > 
> > Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
> > ---
> >   drivers/net/ixgbe/base/ixgbe_type.h | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h
> > index 1094df5891..35212a561b 100644
> > --- a/drivers/net/ixgbe/base/ixgbe_type.h
> > +++ b/drivers/net/ixgbe/base/ixgbe_type.h
> > @@ -1801,5 +1801,5 @@ enum {
> >   #define IXGBE_VFRE_ENABLE_ALL	0xFFFFFFFF
> > -#define IXGBE_VF_INIT_TIMEOUT	200 /* Number of retries to clear RSTI */
> > +#define IXGBE_VF_INIT_TIMEOUT	10000 /* Number of retries to clear RSTI */
> >   /* RDHMPN and TDHMPN bitmasks */
> 
> Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
> 
This changes the code in the "base" directory, which is not ideal, but I
see no other way to fix the issue reported.

Applied to dpdk-next-net-intel.

Thanks,
/Bruce
  

Patch

diff --git a/drivers/net/ixgbe/base/ixgbe_type.h b/drivers/net/ixgbe/base/ixgbe_type.h
index 1094df5891..35212a561b 100644
--- a/drivers/net/ixgbe/base/ixgbe_type.h
+++ b/drivers/net/ixgbe/base/ixgbe_type.h
@@ -1801,5 +1801,5 @@  enum {
 #define IXGBE_VFRE_ENABLE_ALL	0xFFFFFFFF
 
-#define IXGBE_VF_INIT_TIMEOUT	200 /* Number of retries to clear RSTI */
+#define IXGBE_VF_INIT_TIMEOUT	10000 /* Number of retries to clear RSTI */
 
 /* RDHMPN and TDHMPN bitmasks */