RE: [PATCH v2 6/7] net/iavf: keep watchdog armed for the whole reset window

"Loftus, Ciara" <[email protected]>
Newsgroups org.dpdk.dev
Message-ID <IA4PR11MB9278E831F6045C7AC27A98E68EDB2@IA4PR11MB9278.namprd11.prod.outlook.com>
> Subject: [PATCH v2 6/7] net/iavf: keep watchdog armed for the whole reset
> window
> 
> The device watchdog polls VFGEN_RSTAT to detect a VF reset and drives
> the auto-reset recovery path.
> It is disabled when a link-up event arrives, on the assumption that a
> working link means no reset is in flight.
> That assumption does not hold during recovery.
> 
> Keep the watchdog armed while vf->in_reset_recovery is set, and enable
> it on VIRTCHNL_EVENT_RESET_IMPENDING, so it stays armed from the PF
> reset notification until recovery completes.

Is there an appropriate fixes tag that could be added to this commit?

> 
> Signed-off-by: Anurag Mandal <[email protected]>
> ---
>  drivers/net/intel/iavf/iavf_vchnl.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/intel/iavf/iavf_vchnl.c
> b/drivers/net/intel/iavf/iavf_vchnl.c
> index e04afe1d6a..3ceebce454 100644
> --- a/drivers/net/intel/iavf/iavf_vchnl.c
> +++ b/drivers/net/intel/iavf/iavf_vchnl.c
> @@ -260,7 +260,7 @@ iavf_handle_link_change_event(struct rte_eth_dev
> *dev,
>  	 * (link is down or a VF reset is in progress); the watchdog drives
>  	 * auto-reset recovery, so it must remain armed in those cases.
>  	 */
> -	if (vf->link_up && !vf->vf_reset)
> +	if (vf->link_up && !vf->vf_reset && !vf->in_reset_recovery)
>  		iavf_dev_watchdog_disable(adapter);
>  	else
>  		iavf_dev_watchdog_enable(adapter);
> @@ -574,6 +574,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev,
> uint8_t *msg,
>  		if (!vf->vf_reset) {
>  			vf->vf_reset = true;
>  			iavf_set_no_poll(adapter, false);
> +			iavf_dev_watchdog_enable(adapter);

Should the watchdog be enabled in iavf_read_msg_from_pf where the
RESET_IMPENDING message is handled also?

>  			if (adapter->devargs.no_poll_on_link_down)
>  				iavf_dev_tx_drain(dev);
>  			iavf_dev_event_post(dev,
> RTE_ETH_EVENT_INTR_RESET,
> --
> 2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.