[PATCH 2/2] bus/pci: enhance hotplug for VFIO bound devices

Maxime Coquelin maxime.coquelin at redhat.com
Tue Sep 17 10:57:35 CEST 2024



On 9/16/24 14:30, David Marchand wrote:
> VFIO modules may get loaded/initialized after DPDK initialized (like when
> starting an application without knowing which devices will be used, and
> whether their drivers require VFIO).
> 
> Retry enabling VFIO if not available.
> This way, it is not required to restart the DPDK application anymore.
> 
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> ---
>   drivers/bus/pci/linux/pci_vfio.c | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
> index adc34a5c51..5317170231 100644
> --- a/drivers/bus/pci/linux/pci_vfio.c
> +++ b/drivers/bus/pci/linux/pci_vfio.c
> @@ -1319,6 +1319,12 @@ pci_vfio_mmio_write(const struct rte_pci_device *dev, int bar,
>   int
>   pci_vfio_is_enabled(void)
>   {
> -	return rte_vfio_is_enabled("vfio_pci");
> +	int status = rte_vfio_is_enabled("vfio_pci");
> +
> +	if (!status) {
> +		rte_vfio_enable("vfio");
> +		status = rte_vfio_is_enabled("vfio_pci");
> +	}
> +	return status;
>   }
>   #endif

Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>

Also wondering if it could be considered a fix.

Thanks,
Maxime



More information about the dev mailing list