[PATCH 0/4] crypto: [sha] x86 SHA extension optimization of SHA1 and SHA256

From: Tim Chen
Date: Thu Sep 10 2015 - 18:26:58 EST



The new x86 SHA extensions provide new hardware accelerated instructions
for computing SHA1 and SHA256 hashes. This patch series provide the
assembly routines for SHA1 and SHA256 computation using these new
instructions to the kernel crypto library. For 4K data blocks, we've
seen up to 3.6x speedup over existing SSSE3 enhanced routines in the
kernel crypto library on Broxton platform.

Refer to SHA extension programming guide in chapter 8.2 of the
Intel Architecture Instruction Set Extensions Programming reference.
https://software.intel.com/sites/default/files/managed/07/b7/319433-023.pdf

Pre-req patches:
[1] [PATCH] sha: Enable cpuid check for Intel SHA extensions implementations
http://marc.info/?l=linux-kernel&m=144019424304089&w=2
[2] [Patch] x86/insn: perf tools: Add new SHA instructions
http://marc.info/?l=linux-kernel&m=144119645000679&w=2

Tim Chen (4):
crypto: [sha] Intel SHA Extensions optimized SHA1 transform function
crypto: [sha] Intel SHA Extensions optimized SHA256 transform function
crypto: [sha] glue code for Intel SHA extensions optimized SHA1 &
SHA256
crypto: [sha] Add build support for Intel SHA Extensions optimized
SHA1 and SHA256

arch/x86/Makefile | 6 +-
arch/x86/crypto/Makefile | 8 +
arch/x86/crypto/sha1_ni_asm.S | 302 ++++++++++++++++++++++++++++++
arch/x86/crypto/sha1_ssse3_glue.c | 12 +-
arch/x86/crypto/sha256_ni_asm.S | 353 ++++++++++++++++++++++++++++++++++++
arch/x86/crypto/sha256_ssse3_glue.c | 38 ++--
crypto/Kconfig | 10 +-
7 files changed, 707 insertions(+), 22 deletions(-)
create mode 100644 arch/x86/crypto/sha1_ni_asm.S
create mode 100644 arch/x86/crypto/sha256_ni_asm.S

--
2.4.2


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/