From mboxrd@z Thu Jan 1 00:00:00 1970 From: Panu Matilainen Subject: Re: [PATCH v2 4/4] virtio: check if any kernel driver is manipulating the virtio device Date: Thu, 7 Jan 2016 16:17:38 +0200 Message-ID: <568E7382.9060406@redhat.com> References: <20151222035041.GA7532@pxdev.xzpeter.org> <1451843773-103006-1-git-send-email-huawei.xie@intel.com> <1451843773-103006-5-git-send-email-huawei.xie@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit To: Huawei Xie , dev@dpdk.org Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 492D09418 for ; Thu, 7 Jan 2016 15:17:41 +0100 (CET) In-Reply-To: <1451843773-103006-5-git-send-email-huawei.xie@intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 01/03/2016 07:56 PM, Huawei Xie wrote: > v2 changes: > change LOG level from ERR to INFO > > 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 > --- > 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 e815acd..7a50dac 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(INFO, > + "kernel driver is manipulating this device." \ > + " Please unbind the kernel driver."); At the very least this message needs to be changed. Like said earlier, I think the message could just as well be dropped entirely, but at least it should be something to the tune of "ignoring kernel owned device" instead of asking the user to break their configuration. - Panu -