From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1520C11F65 for ; Wed, 30 Jun 2021 12:39:12 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 622B561584 for ; Wed, 30 Jun 2021 12:39:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 622B561584 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=zgM4qZR+4CnyGp/PMnJp7E+NHcKQ+ks8EY4zrPoKoLY=; b=N/Tu8I7F/YlL3ITViNXXT9ZpEx sT0F3ndbug3M0wImbmvoVQzo96Xdpo4DLYlCnwebyw9pV5ovaszdg/4AdPWPDrVS++HGqTkH/Opmd nXKeQChfTmC6wPD1ZVn2+glJst97jIOPKBsUk89yR3qyEAqPpFCEDz16SncgD5O2EuStn09qgb2M8 M/Ib2fPJXUOAlw7Pe19p/6I/zBAWLrSFCwgfIk7TqY9jc5TA7mcxCjgQprt3q3DMj6kQN2sqI00i1 7xuaqn+uacboS4Ft86WaSZUSMpYN1aiaWoc8qWMbD/IWtS73Si1Uk47asntfpZ1KUhM/X9u5rC9js 2iitCQ2A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lyZTE-00Dtpp-K6; Wed, 30 Jun 2021 12:37:36 +0000 Received: from out30-57.freemail.mail.aliyun.com ([115.124.30.57]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lyZT9-00Dtg4-SY for linux-arm-kernel@lists.infradead.org; Wed, 30 Jun 2021 12:37:34 +0000 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R211e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e01424; MF=tianjia.zhang@linux.alibaba.com; NM=1; PH=DS; RN=20; SR=0; TI=SMTPD_---0UeAu494_1625056642; Received: from B-455UMD6M-2027.local(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0UeAu494_1625056642) by smtp.aliyun-inc.com(127.0.0.1); Wed, 30 Jun 2021 20:37:23 +0800 Subject: Re: [PATCH v2 0/4] Introduce x86 assembler accelerated implementation for SM4 algorithm To: Herbert Xu , "David S. Miller" , Eric Biggers , Eric Biggers , Gilad Ben-Yossef , Ard Biesheuvel , "Markku-Juhani O . Saarinen" , Jussi Kivilinna , Catalin Marinas , Will Deacon , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , x86@kernel.org, linux-crypto@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Jia Zhang , "YiLin . Li" References: <20210624080857.126660-1-tianjia.zhang@linux.alibaba.com> From: Tianjia Zhang Message-ID: <46fbbc81-d8c5-fd97-fd4f-71dd96c2c522@linux.alibaba.com> Date: Wed, 30 Jun 2021 20:37:22 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210624080857.126660-1-tianjia.zhang@linux.alibaba.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210630_053732_151921_C79A0CC2 X-CRM114-Status: GOOD ( 18.34 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Any comment? Cheers, Tianjia On 6/24/21 4:08 PM, Tianjia Zhang wrote: > This patchset extracts the public SM4 algorithm as a separate library, > At the same time, the acceleration implementation of SM4 in arm64 was > adjusted to adapt to this SM4 library. Then introduces an accelerated > implementation of the instruction set on x86. > > This optimization supports the four modes of SM4, ECB, CBC, CFB, and > CTR. Since CBC and CFB do not support multiple block parallel > encryption, the optimization effect is not obvious. And all selftests > have passed already. > > The main algorithm implementation comes from SM4 AES-NI work by > libgcrypt and Markku-Juhani O. Saarinen at: > https://github.com/mjosaarinen/sm4ni > > Benchmark on Intel Xeon Cascadelake, the data comes from the mode 218 > and mode 518 of tcrypt. The abscissas are blocks of different lengths. > The data is tabulated and the unit is Mb/s: > > sm4-generic | 16 64 128 256 1024 1420 4096 > ECB enc | 40.99 46.50 48.05 48.41 49.20 49.25 49.28 > ECB dec | 41.07 46.99 48.15 48.67 49.20 49.25 49.29 > CBC enc | 37.71 45.28 46.77 47.60 48.32 48.37 48.40 > CBC dec | 36.48 44.82 46.43 47.45 48.23 48.30 48.36 > CFB enc | 37.94 44.84 46.12 46.94 47.57 47.46 47.68 > CFB dec | 37.50 42.84 43.74 44.37 44.85 44.80 44.96 > CTR enc | 39.20 45.63 46.75 47.49 48.09 47.85 48.08 > CTR dec | 39.64 45.70 46.72 47.47 47.98 47.88 48.06 > sm4-aesni-avx > ECB enc | 33.75 134.47 221.64 243.43 264.05 251.58 258.13 > ECB dec | 34.02 134.92 223.11 245.14 264.12 251.04 258.33 > CBC enc | 38.85 46.18 47.67 48.34 49.00 48.96 49.14 > CBC dec | 33.54 131.29 223.88 245.27 265.50 252.41 263.78 > CFB enc | 38.70 46.10 47.58 48.29 49.01 48.94 49.19 > CFB dec | 32.79 128.40 223.23 244.87 265.77 253.31 262.79 > CTR enc | 32.58 122.23 220.29 241.16 259.57 248.32 256.69 > CTR dec | 32.81 122.47 218.99 241.54 258.42 248.58 256.61 > > --- > v2 changes: > * SM4 library functions use "sm4_" prefix instead of "crypto_" prefix > * sm4-aesni-avx supports accelerated implementation of four specific modes > * tcrypt benchmark supports sm4-aesni-avx > * fixes of other reviews > > Tianjia Zhang (4): > crypto: sm4 - create SM4 library based on sm4 generic code > crypto: arm64/sm4-ce - Make dependent on sm4 library instead of > sm4-generic > crypto: x86/sm4 - add AES-NI/AVX/x86_64 implementation > crypto: tcrypt - add the asynchronous speed test for SM4 > > arch/arm64/crypto/Kconfig | 2 +- > arch/arm64/crypto/sm4-ce-glue.c | 20 +- > arch/x86/crypto/Makefile | 3 + > arch/x86/crypto/sm4-aesni-avx-asm_64.S | 684 +++++++++++++++++++++++++ > arch/x86/crypto/sm4_aesni_avx_glue.c | 537 +++++++++++++++++++ > crypto/Kconfig | 22 + > crypto/sm4_generic.c | 180 +------ > crypto/tcrypt.c | 26 +- > include/crypto/sm4.h | 29 +- > lib/crypto/Kconfig | 3 + > lib/crypto/Makefile | 3 + > lib/crypto/sm4.c | 184 +++++++ > 12 files changed, 1515 insertions(+), 178 deletions(-) > create mode 100644 arch/x86/crypto/sm4-aesni-avx-asm_64.S > create mode 100644 arch/x86/crypto/sm4_aesni_avx_glue.c > create mode 100644 lib/crypto/sm4.c > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel