[dpdk-dev] [PATCH v2 0/4] fix the issue that DPDK takes over virtio device blindly

Stephen Hemminger stephen at networkplumber.org
Mon Jan 4 18:25:07 CET 2016

On Mon,  4 Jan 2016 01:56:09 +0800
Huawei Xie <huawei.xie at intel.com> wrote:

> v2 changes:
>  Remove unnecessary assignment of NULL to dev->data->mac_addrs
>  Ajust one comment's position
>  change LOG level from ERR to INFO
> virtio PMD doesn't set RTE_PCI_DRV_NEED_MAPPING in drv_flags of its
> eth_driver. It will try igb_uio and PORT IO in turn to configure
> virtio device. Even user in guest VM doesn't want to use virtio for
> DPDK, virtio PMD will take over the device blindly.
> The more serious problem is kernel driver is still manipulating the
> device, which causes driver conflict.
> This patch checks if there is any kernel driver manipulating the
> virtio device before virtio PMD uses port IO to configure the device.
> Huawei Xie (4):
>   eal: make the comment more accurate
>   eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device.
>   virtio: return 1 to tell the kernel we don't take over this device
>   virtio: check if any kernel driver is manipulating the virtio device
>  drivers/net/virtio/virtio_ethdev.c     | 16 ++++++++++++++--
>  lib/librte_eal/common/eal_common_pci.c |  8 ++++----
>  lib/librte_eal/linuxapp/eal/eal_pci.c  |  2 +-
>  3 files changed, 19 insertions(+), 7 deletions(-)

Overall looks good, thanks for addressing this.

It would be good to note that VFIO no-IOMMU mode should work for this
as well.

More information about the dev mailing list