linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] crypto, x86: assembler implementation of SHA1
@ 2011-07-24 17:53 Mathias Krause
  2011-07-24 17:53 ` [PATCH v2 1/2] crypto, sha1: export sha1_update for reuse Mathias Krause
  2011-07-24 17:53 ` [PATCH v2 2/2] crypto, x86: SSSE3 based SHA1 implementation for x86-64 Mathias Krause
  0 siblings, 2 replies; 16+ messages in thread
From: Mathias Krause @ 2011-07-24 17:53 UTC (permalink / raw)
  To: Herbert Xu, David S. Miller
  Cc: linux-crypto, Maxim Locktyukhin, linux-kernel, Mathias Krause

This patch series adds an assembler implementation for the SHA1 hash algorithm
for the x86-64 architecture. Its raw hash performance can be more than 2 times
faster than the generic C implementation. This gives a real world benefit for
IPsec with an throughput increase of up to +35%. For concrete numbers have a
look at the second patch.

This implementation is currently x86-64 only but might be ported to 32 bit with
some effort in a follow up patch. (I had no time to do this yet.)

Note: The SSSE3 is no typo, it's "Supplemental SSE3".

v2 changes:
- fixed typo in Makefile making AVX version unusable
- whitespace fixes for the .S file

Regards,
Mathias

Mathias Krause (2):
  crypto, sha1: export sha1_update for reuse
  crypto, x86: SSSE3 based SHA1 implementation for x86-64

 arch/x86/crypto/Makefile          |    8 +
 arch/x86/crypto/sha1_ssse3_asm.S  |  558 +++++++++++++++++++++++++++++++++++++
 arch/x86/crypto/sha1_ssse3_glue.c |  240 ++++++++++++++++
 arch/x86/include/asm/cpufeature.h |    3 +
 crypto/Kconfig                    |   10 +
 crypto/sha1_generic.c             |    9 +-
 include/crypto/sha.h              |    5 +
 7 files changed, 829 insertions(+), 4 deletions(-)
 create mode 100644 arch/x86/crypto/sha1_ssse3_asm.S
 create mode 100644 arch/x86/crypto/sha1_ssse3_glue.c


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2011-08-14 19:09 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-24 17:53 [PATCH v2 0/2] crypto, x86: assembler implementation of SHA1 Mathias Krause
2011-07-24 17:53 ` [PATCH v2 1/2] crypto, sha1: export sha1_update for reuse Mathias Krause
2011-07-28 14:58   ` Herbert Xu
2011-07-28 15:29     ` Mathias Krause
2011-07-30 13:46       ` Herbert Xu
2011-07-31 13:24         ` Mathias Krause
2011-07-24 17:53 ` [PATCH v2 2/2] crypto, x86: SSSE3 based SHA1 implementation for x86-64 Mathias Krause
2011-08-04  6:44   ` Herbert Xu
2011-08-04 17:05     ` Mathias Krause
2011-08-04 17:08       ` Mathias Krause
2011-08-08  5:48       ` Locktyukhin, Maxim
2011-08-14 19:06         ` Mathias Krause
2011-08-11 14:50     ` Andy Lutomirski
2011-08-11 15:08       ` Herbert Xu
2011-08-11 15:15         ` Andrew Lutomirski
2011-08-14 19:09       ` Mathias Krause

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).