[Intel-wired-lan] [PATCH v2 net-next] i40e: stop VF rings

Rose, Gregory V gregory.v.rose at intel.com
Tue Apr 7 18:38:38 UTC 2015


Looks good but maybe a comment too?

Your call.

ACK

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of Mitch Williams
> Sent: Tuesday, April 07, 2015 11:33 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [PATCH v2 net-next] i40e: stop VF rings
> 
> Explicitly stop the rings belonging to each VF when disabling SR-IOV.
> Even though the VFs were gone, and the associated VSIs were removed, the
> rings were not stopped, and in some circumstances the hardware would
> continue to access the memory formerly used by the rings, causing memory
> corruption or DMAR errors, both of which would lead to general malaise of
> the kernel.
> 
> To relieve this condition, explicitly stop all the rings associated with
> each VF before releasing its resources.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams at intel.com>
> v2: use correct variable name (changed in a different patch)
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> index 4d69e1f..20ae88b 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
> @@ -733,6 +733,11 @@ void i40e_free_vfs(struct i40e_pf *pf)
>  	while (test_and_set_bit(__I40E_VF_DISABLE, &pf->state))
>  		usleep_range(1000, 2000);
> 
> +	for (i = 0; i < pf->num_alloc_vfs; i++)
> +		if (test_bit(I40E_VF_STAT_INIT, &pf->vf[i].vf_states))
> +			i40e_vsi_control_rings(pf->vsi[pf->vf[i].lan_vsi_idx],
> +					       false);
> +
>  	/* Disable IOV before freeing resources. This lets any VF drivers
>  	 * running in the host get themselves cleaned up before we yank
>  	 * the carpet out from underneath their feet.
> --
> 2.1.0
> 
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan at lists.osuosl.org
> http://lists.osuosl.org/mailman/listinfo/intel-wired-lan


More information about the Intel-wired-lan mailing list