From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2 03/12] crypto/armv8: Add core crypto operations for ARMv8 Date: Tue, 06 Dec 2016 22:42:51 +0100 Message-ID: <6384628.bAnifqqFcF@xps13> References: <1480851219-45071-1-git-send-email-zbigniew.bodek@caviumnetworks.com> <370264788.TNfU8e7VBG@xps13> <20161206211802.GA18108@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: zbigniew.bodek@caviumnetworks.com, dev@dpdk.org, pablo.de.lara.guarch@intel.com, Emery Davis To: Jerin Jacob Return-path: Received: from mail-wj0-f179.google.com (mail-wj0-f179.google.com [209.85.210.179]) by dpdk.org (Postfix) with ESMTP id E84B2316B for ; Tue, 6 Dec 2016 22:42:53 +0100 (CET) Received: by mail-wj0-f179.google.com with SMTP id v7so338630438wjy.2 for ; Tue, 06 Dec 2016 13:42:53 -0800 (PST) In-Reply-To: <20161206211802.GA18108@localhost.localdomain> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-12-07 02:48, Jerin Jacob: > On Tue, Dec 06, 2016 at 09:29:25PM +0100, Thomas Monjalon wrote: > > 2016-12-06 18:32, zbigniew.bodek@caviumnetworks.com: > > > From: Zbigniew Bodek > > > > > > This patch adds core low-level crypto operations > > > for ARMv8 processors. The assembly code is a base > > > for an optimized PMD and is currently excluded > > > from the build. > > > > It's a bit sad that you cannot achieve the same performance with > > C code and a good compiler. > > Have you tried it? How much is the difference? > > Like AES-NI on IA side(exposed as separate PMD in dpdk), > armv8 has special dedicated instructions for crypto operation using SIMD. > This patch is using the "dedicated" armv8 crypto instructions and SIMD > operation to achieve better performance. It does not justify to have all the code in asm. > We had compared with openssl implementation.Here is the performance > improvement for chained crypto operations case WRT openssl pmd > > Buffer > Size(B) OPS(M) Throughput(Gbps) > 64 729 % 742 % > 128 577 % 592 % > 256 483 % 476 % > 512 336 % 351 % > 768 300 % 286 % > 1024 263 % 250 % > 1280 225 % 229 % > 1536 214 % 213 % > 1792 186 % 203 % > 2048 200 % 193 % OK but what is the performance difference between this asm code and a C equivalent?