From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 5CDE23250 for ; Sat, 20 Jan 2018 17:21:51 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 906A520D19; Sat, 20 Jan 2018 11:21:49 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Sat, 20 Jan 2018 11:21:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=aL4CNj+BWQmtYHElp1UHqZrhlO LX6NByMGPRhstBOCk=; b=k6rpPzY0uhvXfzTQuJEt7b0mSC8mvdpWhDNUB4eCXU 36l2ftoYUXWBbjUrxt6H7GvF67Fz3koz6HiqGg2JxX5z3hYarXRYS7DwugO6KvQV i2XVOLp7ZBfn4DO7GMSJw3y/6CyuQs9UxyBe7BJZisy9+NVttPfPyi26HboEv6hf g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=aL4CNj +BWQmtYHElp1UHqZrhlOLX6NByMGPRhstBOCk=; b=hvhA8bGnBzpn4G9ezfJuq5 eLqSHydGUnKPKxt61J4CL6YMTA/kFZfMMfADgR2KVBaMW/ov5/wYcfLz9M/QpNrk WMTOYb+SJ5Z1V1qeBU3CD/t6iA1dcflFQ2JEB/ePpk3gqvu8jahXd00/iMWh7Eg2 hkPqAhroJpGMZf5RBksfTiEWxAu+fMj7mINMxO2da5kHUoood+vuLfzoG4wnORZ/ 6vIUbEk8yc8+Ac1Us2WlTYcrs1+oSzxFT41EZXGHWNn1bw29ng3E7aUumJuKC9nN gBhIG5myJX9nhY7/Hs3TQQoDlQXHbmrf7IxOLjT1MwHKd0AhLzFSbwHAZTgb3Z6A == X-ME-Sender: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 44AF67E38D; Sat, 20 Jan 2018 11:21:49 -0500 (EST) From: Thomas Monjalon To: Herbert Guan Cc: dev@dpdk.org, jerin.jacob@caviumnetworks.com Date: Sat, 20 Jan 2018 17:21:13 +0100 Message-ID: <2221876.qyN0Yi37kZ@xps> In-Reply-To: <1516342236-10892-1-git-send-email-herbert.guan@arm.com> References: <1515061208-27252-1-git-send-email-herbert.guan@arm.com> <1516342236-10892-1-git-send-email-herbert.guan@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH v6] arch/arm: optimization for memcpy on ARM64 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: Sat, 20 Jan 2018 16:21:51 -0000 19/01/2018 07:10, Herbert Guan: > This patch provides an option to do rte_memcpy() using 'restrict' > qualifier, which can induce GCC to do optimizations by using more > efficient instructions, providing some performance gain over memcpy() > on some ARM64 platforms/enviroments. > > The memory copy performance differs between different ARM64 > platforms. And a more recent glibc (e.g. 2.23 or later) > can provide a better memcpy() performance compared to old glibc > versions. It's always suggested to use a more recent glibc if > possible, from which the entire system can get benefit. If for some > reason an old glibc has to be used, this patch is provided for an > alternative. > > This implementation can improve memory copy on some ARM64 > platforms, when an old glibc (e.g. 2.19, 2.17...) is being used. > It is disabled by default and needs "RTE_ARCH_ARM64_MEMCPY" > defined to activate. It's not always proving better performance > than memcpy() so users need to run DPDK unit test > "memcpy_perf_autotest" and customize parameters in "customization > section" in rte_memcpy_64.h for best performance. > > Compiler version will also impact the rte_memcpy() performance. > It's observed on some platforms and with the same code, GCC 7.2.0 > compiled binary can provide better performance than GCC 4.8.5. It's > suggested to use GCC 5.4.0 or later. > > Signed-off-by: Herbert Guan > Acked-by: Jerin Jacob Applied, thanks