From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gozo.iway.ch (gozo.iway.ch [212.25.24.36]) by dpdk.org (Postfix) with ESMTP id 0F22E3772 for ; Wed, 17 Jan 2018 11:34:58 +0100 (CET) Received: from gozo.iway.ch (localhost [127.0.0.1]) by localhost (Postfix) with ESMTP id 00FB5340F9B; Wed, 17 Jan 2018 11:34:58 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by localhost (ACF/6597.13295); Wed, 17 Jan 2018 11:34:57 +0100 (CET) Received: from switchplus-mail.ch (switchplus-mail.ch [212.25.8.236]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by gozo.iway.ch (Postfix) with ESMTPS; Wed, 17 Jan 2018 11:34:57 +0100 (CET) Received: from [195.176.20.45] (account pepperjo@japf.ch) by japf.ch (CommuniGate Pro WEBUSER 6.1.18) with HTTP id 42388133; Wed, 17 Jan 2018 11:34:57 +0100 From: "Jonas Pfefferle" To: "Maxime Coquelin" , "Thomas Monjalon" Cc: "Burakov, Anatoly" , dev@dpdk.org X-Mailer: CommuniGate Pro WebUser v6.1.18 Date: Wed, 17 Jan 2018 11:34:57 +0100 Message-ID: In-Reply-To: References: <1509465586-7436-1-git-send-email-jpf@zurich.ibm.com> <2075027.JcYejM7RvO@xps> <30962267.NVMYIIJvp8@xps> MIME-Version: 1.0 Content-Type: text/plain;charset=utf-8; format="flowed" Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2] vfio: noiommu check error handling X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Jan 2018 10:34:59 -0000 On Wed, 17 Jan 2018 09:55:37 +0100 Maxime Coquelin wrote: > > > On 01/17/2018 09:48 AM, Jonas Pfefferle wrote: >> >>  On Tue, 16 Jan 2018 18:01:32 +0100 >>  Maxime Coquelin wrote: >>> Hi Jonas, >>> >>> On 01/16/2018 05:08 PM, Jonas Pfefferle wrote: >>>> >>>>   On Mon, 15 Jan 2018 17:11:58 +0100 >>>>   Thomas Monjalon wrote: >>>>> 15/01/2018 13:22, Jonas Pfefferle: >>>>>> >>>>>>   On Sat, 13 Jan 2018 23:49:30 +0100 >>>>>>   Thomas Monjalon wrote: >>>>>> > 13/01/2018 13:15, Burakov, Anatoly: >>>>>> >> On 11-Jan-18 11:45 PM, Thomas Monjalon wrote: >>>>>> >> > 07/11/2017 10:50, Jonas Pfefferle1: >>>>>> >> >>> Is there something urgent for 17.11? >>>>>> >> >>> Or can it be refined in 18.02? >>>>>> >> >> >>>>>> >> >> Nothing urgent. We can refine this for 18.02. >>>>>> >> >> >>>>>> >> >>> Anatoly, any thought? >>>>>> >> > >> > Anatoly, Jonas, how do you want to proceed with this >>>>>>patch? >>>>>> >> > >> >> I don't see anything to be refined here, it's a simple >>>>>>bug fix - >>code >> assumes noiommu mode support is always available, >>>>>>when it might not >>be >> the case on older kernels. >>>>>> > > As a bug fix, the title must start with "fix" and a tag "Fixes:" >>>>>> > must be added to help with backport. >>>>>> > At the same time, the explanation of the bug must be added in >>>>>> > the commit log please. >>>>>> > > Thanks >>>>>> >>>>>> It's not really a bug fix since it does not change the semantic of >>>>>>the function but just adds nicer error handling. >>>>>> Regarding redefining the code: What I don't like is the special >>>>>>cases we have to check for when using the sPAPR iommu because it does >>>>>>not support VA mappings yet. I think we should decide which iova mode >>>>>>to use based on the iommu types available, i.e. each iommu type >>>>>>should report which iova type it supports. Thoughts? >>>>> >>>>> Have you looked at what Maxime did? >>>>>     https://dpdk.org/dev/patchwork/patch/33650/ >>>>> >>>>> How does it affect this patch? >>>>> >>>>> >>>> >>>> IMO it has the same problem. We shouldn't add more exception cases >>>>in drivers/bus/pci/linux/pci.c but instead keep all the information >>>>about what an IOMMU can do in lib/librte_eal/linuxapp/eal/eal_vfio.c >>> >>> I agree adding an exception in drivers/bus/pci/linux/pci.c isn't >>>great, >>> but we need first to fix a regression introduced in v17.11 LTS, and >>> IMHO, we cannot do a big rework as the fix is to be backported. >>> >>> Once fixed, I agree we should work on a refactoring. I don't know if >>> eal_vfio is the right place though, as in my case for example I >>>cannot >>> get the information needed through vfio ioctl(). >>> >>> Out of curiosity, what prevents sPAPR to use VA mode for now? >>> >>> Maxime >> >> Sounds good to me. >> >> The current sPAPR Linux driver cannot use virtual addresses because >>the DMA window size is restricted to RAM size and always starts at 0. >>This is not a hardware restriction and we are working on allowing to >>create arbitrary size windows. > > > Thanks for the clarification, is the DMA window size information > accessible from user-space, so that we can enable VA mode or not > depending on its value? > > Maxime >> Jonas >> AFAIK it is not queryable. But we can try to create a window and if it fails we try again with PA mode. Jonas