lkml.org 
[lkml]   [2015]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[PATCH 0/4] crypto: [sha] x86 SHA extension optimization of SHA1 and SHA256
From
Date

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




\
 
 \ /
  Last update: 2015-09-11 00:41    [W:0.048 / U:6.744 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site