From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alejandro Lucero Subject: Re: [PATCH v1] igu_uio: fix IOMMU domain issue Date: Wed, 11 May 2016 08:35:58 +0100 Message-ID: References: <1462879301-13570-1-git-send-email-zhe.tao@intel.com> <20160510085915.529b4af5@xeon-e3> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: Zhe Tao , dev To: Stephen Hemminger Return-path: Received: from mail-vk0-f46.google.com (mail-vk0-f46.google.com [209.85.213.46]) by dpdk.org (Postfix) with ESMTP id 49496C34C for ; Wed, 11 May 2016 09:35:59 +0200 (CEST) Received: by mail-vk0-f46.google.com with SMTP id s184so46490624vkb.3 for ; Wed, 11 May 2016 00:35:59 -0700 (PDT) In-Reply-To: <20160510085915.529b4af5@xeon-e3> 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 Tue, May 10, 2016 at 4:59 PM, Stephen Hemminger < stephen@networkplumber.org> wrote: > On Tue, 10 May 2016 19:21:41 +0800 > Zhe Tao 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. 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.