From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> To: Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, Vitaly Chikunov <vt@altlinux.org>, Eric Biggers <ebiggers@google.com>, Eric Biggers <ebiggers@kernel.org>, Gilad Ben-Yossef <gilad@benyossef.com>, Ard Biesheuvel <ardb@kernel.org>, Jussi Kivilinna <jussi.kivilinna@iki.fi>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, linux-crypto@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Subject: [PATCH v2 0/6] Introduce x86 assembly accelerated implementation for SM3 algorithm Date: Wed, 22 Dec 2021 12:50:16 +0800 [thread overview] Message-ID: <20211222045022.27069-1-tianjia.zhang@linux.alibaba.com> (raw) This series of patches creates an stand-alone library for SM3 hash algorithm in the lib/crypto directory, and makes the implementations that originally depended on sm3-generic depend on the stand-alone SM3 library, which also includes sm3-generic itself. On this basis, the AVX assembly acceleration implementation of SM3 algorithm is introduced, the main algorithm implementation based on SM3 AES/BMI2 accelerated work by libgcrypt at: https://gnupg.org/software/libgcrypt/index.html From the performance benchmark data, the performance improvement of SM3 algorithm after AVX optimization can reach up to 38%. --- v2 changes: - x86/sm3: Change K macros to signed decimal and use LEA and 32-bit offset Tianjia Zhang (6): crypto: sm3 - create SM3 stand-alone library crypto: arm64/sm3-ce - make dependent on sm3 library crypto: sm2 - make dependent on sm3 library crypto: sm3 - make dependent on sm3 library crypto: x86/sm3 - add AVX assembly implementation crypto: tcrypt - add asynchronous speed test for SM3 arch/arm64/crypto/Kconfig | 2 +- arch/arm64/crypto/sm3-ce-glue.c | 20 +- arch/x86/crypto/Makefile | 3 + arch/x86/crypto/sm3-avx-asm_64.S | 517 +++++++++++++++++++++++++++++++ arch/x86/crypto/sm3_avx_glue.c | 134 ++++++++ crypto/Kconfig | 16 +- crypto/sm2.c | 38 +-- crypto/sm3_generic.c | 142 +-------- crypto/tcrypt.c | 14 +- include/crypto/sm3.h | 35 ++- lib/crypto/Kconfig | 3 + lib/crypto/Makefile | 3 + lib/crypto/sm3.c | 246 +++++++++++++++ 13 files changed, 1007 insertions(+), 166 deletions(-) create mode 100644 arch/x86/crypto/sm3-avx-asm_64.S create mode 100644 arch/x86/crypto/sm3_avx_glue.c create mode 100644 lib/crypto/sm3.c -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> To: Herbert Xu <herbert@gondor.apana.org.au>, "David S. Miller" <davem@davemloft.net>, Vitaly Chikunov <vt@altlinux.org>, Eric Biggers <ebiggers@google.com>, Eric Biggers <ebiggers@kernel.org>, Gilad Ben-Yossef <gilad@benyossef.com>, Ard Biesheuvel <ardb@kernel.org>, Jussi Kivilinna <jussi.kivilinna@iki.fi>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will@kernel.org>, Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, "H. Peter Anvin" <hpa@zytor.com>, linux-crypto@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> Subject: [PATCH v2 0/6] Introduce x86 assembly accelerated implementation for SM3 algorithm Date: Wed, 22 Dec 2021 12:50:16 +0800 [thread overview] Message-ID: <20211222045022.27069-1-tianjia.zhang@linux.alibaba.com> (raw) This series of patches creates an stand-alone library for SM3 hash algorithm in the lib/crypto directory, and makes the implementations that originally depended on sm3-generic depend on the stand-alone SM3 library, which also includes sm3-generic itself. On this basis, the AVX assembly acceleration implementation of SM3 algorithm is introduced, the main algorithm implementation based on SM3 AES/BMI2 accelerated work by libgcrypt at: https://gnupg.org/software/libgcrypt/index.html From the performance benchmark data, the performance improvement of SM3 algorithm after AVX optimization can reach up to 38%. --- v2 changes: - x86/sm3: Change K macros to signed decimal and use LEA and 32-bit offset Tianjia Zhang (6): crypto: sm3 - create SM3 stand-alone library crypto: arm64/sm3-ce - make dependent on sm3 library crypto: sm2 - make dependent on sm3 library crypto: sm3 - make dependent on sm3 library crypto: x86/sm3 - add AVX assembly implementation crypto: tcrypt - add asynchronous speed test for SM3 arch/arm64/crypto/Kconfig | 2 +- arch/arm64/crypto/sm3-ce-glue.c | 20 +- arch/x86/crypto/Makefile | 3 + arch/x86/crypto/sm3-avx-asm_64.S | 517 +++++++++++++++++++++++++++++++ arch/x86/crypto/sm3_avx_glue.c | 134 ++++++++ crypto/Kconfig | 16 +- crypto/sm2.c | 38 +-- crypto/sm3_generic.c | 142 +-------- crypto/tcrypt.c | 14 +- include/crypto/sm3.h | 35 ++- lib/crypto/Kconfig | 3 + lib/crypto/Makefile | 3 + lib/crypto/sm3.c | 246 +++++++++++++++ 13 files changed, 1007 insertions(+), 166 deletions(-) create mode 100644 arch/x86/crypto/sm3-avx-asm_64.S create mode 100644 arch/x86/crypto/sm3_avx_glue.c create mode 100644 lib/crypto/sm3.c -- 2.32.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-12-22 4:50 UTC|newest] Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-22 4:50 Tianjia Zhang [this message] 2021-12-22 4:50 ` [PATCH v2 0/6] Introduce x86 assembly accelerated implementation for SM3 algorithm Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 1/6] crypto: sm3 - create SM3 stand-alone library Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang 2021-12-22 6:59 ` Gilad Ben-Yossef 2021-12-22 6:59 ` Gilad Ben-Yossef 2021-12-22 13:11 ` Tianjia Zhang 2021-12-22 13:11 ` Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 2/6] crypto: arm64/sm3-ce - make dependent on sm3 library Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang 2021-12-31 7:05 ` liulongfang 2021-12-31 7:05 ` liulongfang 2021-12-31 11:00 ` Tianjia Zhang 2021-12-31 11:00 ` Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 3/6] crypto: sm2 " Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 4/6] crypto: sm3 " Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 5/6] crypto: x86/sm3 - add AVX assembly implementation Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang 2021-12-22 4:50 ` [PATCH v2 6/6] crypto: tcrypt - add asynchronous speed test for SM3 Tianjia Zhang 2021-12-22 4:50 ` Tianjia Zhang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211222045022.27069-1-tianjia.zhang@linux.alibaba.com \ --to=tianjia.zhang@linux.alibaba.com \ --cc=ardb@kernel.org \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=dave.hansen@linux.intel.com \ --cc=davem@davemloft.net \ --cc=ebiggers@google.com \ --cc=ebiggers@kernel.org \ --cc=gilad@benyossef.com \ --cc=herbert@gondor.apana.org.au \ --cc=hpa@zytor.com \ --cc=jussi.kivilinna@iki.fi \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=tglx@linutronix.de \ --cc=vt@altlinux.org \ --cc=will@kernel.org \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.