From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH] eal: force IOVA mode to physical Date: Thu, 6 Sep 2018 13:04:49 +0530 Message-ID: <20180906073449.GA20576@jerin> References: <1535558289-10336-1-git-send-email-eric.zhang@windriver.com> <20180830094323.37xkgud4fz3mflbg@bidouze.vm.6wind.com> <0f19de06-fccd-eff2-b33e-71d49a005dbb@nxp.com> <9ae6e3dd-5f33-d874-9a58-730435b58de3@windriver.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: santosh , hemant.agrawal@nxp.com, =?iso-8859-1?Q?Ga=EBtan?= Rivet , "Burakov, Anatoly" , bruce.richardson@intel.com, dev@dpdk.org, Allain.Legacy@windriver.com, Matt.Peters@windriver.com To: Eric Zhang Return-path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0047.outbound.protection.outlook.com [104.47.38.47]) by dpdk.org (Postfix) with ESMTP id 0D2A2325F for ; Thu, 6 Sep 2018 09:35:02 +0200 (CEST) Content-Disposition: inline In-Reply-To: <9ae6e3dd-5f33-d874-9a58-730435b58de3@windriver.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -----Original Message----- > Date: Tue, 4 Sep 2018 23:40:36 -0400 > From: Eric Zhang > To: santosh , hemant.agrawal@nxp.com, > Gaëtan Rivet , "Burakov, Anatoly" > > CC: bruce.richardson@intel.com, dev@dpdk.org, Allain.Legacy@windriver.com, > Matt.Peters@windriver.com > Subject: Re: [dpdk-dev] [PATCH] eal: force IOVA mode to physical > User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 > Thunderbird/52.9.1 > > On 08/30/2018 08:59 AM, santosh wrote: > > On Thursday 30 August 2018 05:43 PM, Hemant wrote: > > > External Email > > > > > > Hi, > > > > > > On 8/30/2018 3:13 PM, Gaëtan Rivet wrote: > > > > Hi, > > > > > > > > On Thu, Aug 30, 2018 at 10:09:04AM +0100, Burakov, Anatoly wrote: > > > > > On 29-Aug-18 4:58 PM, eric zhang wrote: > > > > > > This patch adds a configuration option to force the IOVA mode to > > > > > > physical address (PA). There exists virtual devices that are not > > > > > > directly attached to the PCI bus, and therefore the auto detection > > > > > > of the IOVA mode based on probing the PCI bus and IOMMU configuration > > > > > > may not report the required addressing mode. Having the configuration > > > > > > option permits the mode to be explicitly configured in this scenario. > > > > > > > > > > > > Signed-off-by: eric zhang > > > > > > --- > > > > > Defining this at compile-time seems like an overkill. Wouldn't it be better > > > > > to just add an EAL command-line option to force IOVA mode to a particular > > > > > value? > > > That is a good suggestion. > > > > > -- > > > > > Thanks, > > > > > Anatoly > > > > What is the bus of these devices and why not implement get_iommu_class > > > > in it? > > > There are cases, where you are using dpdk libraries with external > > > libraries and you need to change the default behavior DPDK lib to use > > > physical address instead of virtual address. > > > Providing an option to user will help. > > > > > > > > More appropriate solution could be: > > * Either fix it at bus layer .. i.e.. get_iommu_class().. > > * Or introduce something like [1] --iova-mode= param. > > > > Former is better solution than latter if autodetection is a key criteria. > > Thanks. > > > > [1] http://patchwork.dpdk.org/patch/25192/ > > > It's not generic which couldn't be fixed at bus layer. > So what's the preference of EAL option or compile time solution? > Adding --iova-mode as patch [1] will overrivde auto-detection > rte_bus_get_iommu_class() > make it no use; compile time solution will align with upstream and keep > new atuodetection > solution in #ifndef. If it is for vdev devices, why not introduce something like RTE_PCI_DRV_IOVA_AS_VA and let vdev device describe its personality. And based on the devices(flags) on vdev bus, rte_bus_get_iommu_class() of vdev can decide the mode just like PCI bus. > > Thanks > Eric >