[dpdk-dev] [PATCH 4/4] virtio: check if any kernel driver is manipulating the device
Panu Matilainen
pmatilai at redhat.com
Tue Jan 5 15:44:53 CET 2016
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 -
More information about the dev
mailing list