From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id C3DE12AA0 for ; Fri, 7 Sep 2018 11:26:16 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Sep 2018 02:26:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,341,1531810800"; d="scan'208";a="89759247" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.152]) ([10.237.220.152]) by orsmga002.jf.intel.com with ESMTP; 07 Sep 2018 02:26:13 -0700 To: Jerin Jacob , Eric Zhang Cc: santosh , hemant.agrawal@nxp.com, =?UTF-8?Q?Ga=c3=abtan_Rivet?= , bruce.richardson@intel.com, dev@dpdk.org, Allain.Legacy@windriver.com, Matt.Peters@windriver.com 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> <20180906073449.GA20576@jerin> From: "Burakov, Anatoly" Message-ID: <1781101b-ceed-ac80-5564-cc01232cb29f@intel.com> Date: Fri, 7 Sep 2018 10:26:11 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180906073449.GA20576@jerin> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH] eal: force IOVA mode to physical 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: Fri, 07 Sep 2018 09:26:17 -0000 On 06-Sep-18 8:34 AM, Jerin Jacob wrote: > -----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. > That seems like a better option to me, +1. As far as i know, at the moment if there are no devices attached at all, or if there are only vdev devices attached, DPDK will default to IOVA as PA mode for no good reason; such a change would certainly fix this. > >> >> Thanks >> Eric >> > -- Thanks, Anatoly