[dpdk-dev] [PATCH v1] igu_uio: fix IOMMU domain issue

Ferruh Yigit ferruh.yigit at intel.com
Sat Jul 9 09:09:02 CEST 2016


On 7/8/2016 6:27 PM, Thomas Monjalon wrote:

> 2016-05-11 18:24, Ferruh Yigit:
>> On 5/11/2016 8:35 AM, Alejandro Lucero wrote:
>>> On Tue, May 10, 2016 at 4:59 PM, Stephen Hemminger <
>>> stephen at networkplumber.org> wrote:
>>>
>>>> On Tue, 10 May 2016 19:21:41 +0800
>>>> Zhe Tao <zhe.tao at intel.com> wrote:
>>>>
>>>>> Problem:
>>>>> The following  operations will cause the igb_uio based DPDK
>>>>> operation failed.
>>>>> --Any device assignment through the kvm_assign_device interface,
>>>>> this can be the pci-assign method in QEMU
>>>>> --VFIO group attachment operation(attach to the container)
>>>>> this can happens in  vfio-pci assignment in QEMU
>>>>
>>>>
>>>> If you have an IOMMU why not use VFIO instead, it is better.
>>>>
>>>
>>> It is not about VFIO against UIO but about how iommu domains are created
>>> and destroyed by the (old) kernel when iommu=pt. So even with VFIO you can
>>> have problems.
>>
>> Problem is in IOMMU driver but we are adding a workaround to igb_uio, if
>> using VFIO solves the issue, I believe that is better workaround.
>>
>> 1) Is there any case IOMMU supported but VFIO is not supported? Is there
>> anything forces to use igb_uio?
>>
>> 2) Does using VFIO solves the issue defined in problem statement?
>>
>>>
>>> We have had problems like this and other due to our device (NFP) just
>>> mapping up to 40 bits of address space. Old kernels used in LTS
>>> distributions like Ubuntu are iommu buggy and you need to do things like
>>> this mapping inside the driver for solving problems. By the way, using
>>> SRIOV just adds more problems. It is not safe to use iommu=pt with 3.13.x
>>> Ubuntu kernels.
>>>
>>> It would be a good thing for the original patch to identify those kernels
>>> where the problem was detected. Of course, there could be more kernels with
>>> the same problem but that is more work to do.
>>>
>B
> Ping, this patch is stalled.
> 

I am for rejecting this patch.
The patch is useful for tester / developers who use both vfio and igb_uio.
But if end user has environment support to use vfio, she should use vfio
instead of having workaround to use both.

Thanks,
ferruh




More information about the dev mailing list