From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v5 3/5] common/dpaax: add library for PA VA translation table Date: Tue, 16 Oct 2018 01:17:47 +0200 Message-ID: <2346030.H0sUSFOX6A@xps> References: <20181015064202.20802-1-shreyansh.jain@nxp.com> <20181015120156.27793-1-shreyansh.jain@nxp.com> <20181015120156.27793-4-shreyansh.jain@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, ferruh.yigit@intel.com, anatoly.burakov@intel.com, pbhagavatula@caviumnetworks.com To: Shreyansh Jain Return-path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 7D3DB239 for ; Tue, 16 Oct 2018 01:17:48 +0200 (CEST) In-Reply-To: <20181015120156.27793-4-shreyansh.jain@nxp.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" 15/10/2018 14:01, Shreyansh Jain: > A common library, valid for dpaaX drivers, which is used to maintain > a local copy of PA->VA translations. > > In case of physical addressing mode (one of the option for FSLMC, and > only option for DPAA bus), the addresses of descriptors Rx'd are > physical. These need to be converted into equivalent VA for rte_mbuf > and other similar calls. > > Using the rte_mem_virt2iova or rte_mem_virt2phy is expensive. This > library is an attempt to reduce the overall cost associated with > this translation. > > A small table is maintained, containing continuous entries > representing a continguous physical range. Each of these entries > stores the equivalent VA, which is fed during mempool creation, or > memory allocation/deallocation callbacks. > > Signed-off-by: Shreyansh Jain > --- > config/common_base | 5 + > config/common_linuxapp | 5 + > drivers/common/Makefile | 4 + > drivers/common/dpaax/Makefile | 31 ++ > drivers/common/dpaax/dpaax_iova_table.c | 461 ++++++++++++++++++ > drivers/common/dpaax/dpaax_iova_table.h | 103 ++++ > drivers/common/dpaax/dpaax_logs.h | 39 ++ > drivers/common/dpaax/meson.build | 12 + > .../common/dpaax/rte_common_dpaax_version.map | 11 + > drivers/common/meson.build | 2 +- > 10 files changed, 672 insertions(+), 1 deletion(-) I will add this change when applying: NXP buses M: Hemant Agrawal M: Shreyansh Jain +F: drivers/common/dpaax/ F: drivers/bus/dpaa/ F: drivers/bus/fslmc/