From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C836BA0471 for ; Wed, 17 Jul 2019 14:38:45 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 013F31B952; Wed, 17 Jul 2019 14:38:45 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id D87DD4CE4 for ; Wed, 17 Jul 2019 14:38:41 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jul 2019 05:38:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,274,1559545200"; d="scan'208";a="319298796" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.237.220.82]) ([10.237.220.82]) by orsmga004.jf.intel.com with ESMTP; 17 Jul 2019 05:38:39 -0700 To: Jerin Jacob Kollanukkaran , "dev@dpdk.org" , John McNamara , Marko Kovacevic Cc: "thomas@monjalon.net" , "david.marchand@redhat.com" References: <1562795329-16652-1-git-send-email-david.marchand@redhat.com> <20190716134609.40930-1-jerinj@marvell.com> <20190716134609.40930-5-jerinj@marvell.com> <1e271468-6aa1-d81c-8bbf-ee5be41ffa99@intel.com> From: "Burakov, Anatoly" Message-ID: <396d1f20-4b21-776d-6939-7073b9a7ec40@intel.com> Date: Wed, 17 Jul 2019 13:38:38 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v2 4/4] eal: select IOVA mode as VA for default case 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 17-Jul-19 9:33 AM, Jerin Jacob Kollanukkaran wrote: >> -----Original Message----- >> From: Burakov, Anatoly >> Sent: Tuesday, July 16, 2019 8:03 PM >> To: Jerin Jacob Kollanukkaran ; dev@dpdk.org; John >> McNamara ; Marko Kovacevic >> >> Cc: thomas@monjalon.net; david.marchand@redhat.com >> Subject: [EXT] Re: [dpdk-dev] [PATCH v2 4/4] eal: select IOVA mode as VA for >> default case >> >> On 16-Jul-19 2:46 PM, jerinj@marvell.com wrote: >>> From: Jerin Jacob >>> >>> When bus layer selected the preferred mode as RTE_IOVA_DC then select >>> the IOVA mode as RTE_IOVA_VA. >>> >>> The RTE_IOVA_VA selected as the default because, >>> >>> 1) All drivers work in RTE_IOVA_VA mode, irrespective of physical >>> address availability. >>> >>> 2) By default, the mempool, first asks for IOVA-contiguous memory >>> using RTE_MEMZONE_IOVA_CONTIG and this is slow in IOVA as PA mode >> and >>> it may affect the application boot time. >>> >>> Signed-off-by: Jerin Jacob >>> --- >> >> I should celebrate now :D >> >>> doc/guides/prog_guide/env_abstraction_layer.rst | 10 ++++++++-- >>> lib/librte_eal/linux/eal/eal.c | 6 ++---- >>> 2 files changed, 10 insertions(+), 6 deletions(-) >>> >>> diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst >>> b/doc/guides/prog_guide/env_abstraction_layer.rst >>> index 77307e3a6..1b0343eee 100644 >>> --- a/doc/guides/prog_guide/env_abstraction_layer.rst >>> +++ b/doc/guides/prog_guide/env_abstraction_layer.rst >>> @@ -445,8 +445,14 @@ kernels. >>> - if the preferred mode is RTE_IOVA_PA but there is no access to Physical >>> Addresses, then EAL init will fail early, since later probing of the devices >>> would fail anyway, >>> -- if the preferred mode is RTE_IOVA_DC then based on the Physical >>> Addresses >>> - availability, the preferred mode is adjusted to RTE_IOVA_PA or >> RTE_IOVA_VA. >>> +- if the preferred mode is RTE_IOVA_DC then select the IOVA mode as >> RTE_IOVA_VA. >>> + The RTE_IOVA_VA selected as the default because, >>> + >>> +#. All drivers work in RTE_IOVA_VA mode, irrespective of physical address >> availability. >> >> Is there anywhere we can document that any new driver must support both >> before being accepted? > > Not sure why new drivers need to support both PA and VA. Do you mean VA? > And not sure where to document this as well if need. We have a flaf that indicates that the driver needs IOVA as VA. Absence of said flag indicates that it supports both IOVA as VA and IOVA as PA. So, absent of this flag, any new driver must support both PA and VA, must it not? > >> >>> + >>> +#. By default, the mempool, first asks for IOVA-contiguous memory using >> ``RTE_MEMZONE_IOVA_CONTIG``, >>> + and this is slow in IOVA as PA mode and it may affect the application >> boot time. >> >> I would also add a point about usability improvement for use-cases which >> require large amounts of IOVA-contiguous memory. > > I will add in next version: > How about the following, Let me know if any change required. > > #. It is easy to enable large amount of IOVA-contiguous memory use-cases with IOVA in VA mode. Yes, that looks OK. > >> >> Otherwise, >> >> Acked-by: Anatoly Burakov -- Thanks, Anatoly