On 01/04/2016 11:02 AM, Xie, Huawei wrote: > On 12/25/2015 6:33 PM, Xie, Huawei wrote: >> virtio PMD could use IO port to configure the virtio device without >> using uio driver. >> >> There are two issues with previous implementation: >> 1) virtio PMD will take over each virtio device blindly even if some >> are not intended for DPDK. >> 2) driver conflict between virtio PMD and virtio-net kernel driver. >> >> This patch checks if there is any kernel driver manipulating the virtio >> device before virtio PMD uses IO port to configure the device. >> >> Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource") >> >> Signed-off-by: Huawei Xie <huawei.xie at intel.com> >> --- >> drivers/net/virtio/virtio_ethdev.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/net/virtio/virtio_ethdev.c >> b/drivers/net/virtio/virtio_ethdev.c >> index 00015ef..504346a 100644 >> --- a/drivers/net/virtio/virtio_ethdev.c >> +++ b/drivers/net/virtio/virtio_ethdev.c >> @@ -1138,6 +1138,13 @@ static int virtio_resource_init_by_ioports(struct >> rte_pci_device *pci_dev) >> int found = 0; >> size_t linesz; >> >> + if (pci_dev->kdrv != RTE_KDRV_NONE) { >> + PMD_INIT_LOG(ERR, > Better change ERR to INFO and revise the message followed, since user > might not want to use this device for DPDK.
Indeed. The whole point of this exercise is to have a clear way of telling DPDK which virtio devices it should (and should not) use, so it should just act accordingly and shut up. >> + "%s(): kernel driver is manipulating this device." \ >> + " Please unbind the kernel driver.", __func__); I'd suggest just dropping the whole message, DPDK doesn't log such messages for any other devices either. That, or make it a generic debug-level log in pci_scan_one(). - Panu -