From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751799AbbIJW0z (ORCPT ); Thu, 10 Sep 2015 18:26:55 -0400 Received: from mga09.intel.com ([134.134.136.24]:43010 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751018AbbIJW0x (ORCPT ); Thu, 10 Sep 2015 18:26:53 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,507,1437462000"; d="scan'208";a="801990275" Message-ID: <1441924012.4322.0.camel@schen9-desk2.jf.intel.com> Subject: [PATCH 0/4] crypto: [sha] x86 SHA extension optimization of SHA1 and SHA256 From: Tim Chen To: Herbert Xu , "H. Peter Anvin" , "David S.Miller" Cc: Sean Gulley , Chandramouli Narayanan , Vinodh Gopal , James Guilford , Wajdi Feghali , Tim Chen , Jussi Kivilinna , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org Date: Thu, 10 Sep 2015 15:26:52 -0700 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.8.5 (3.8.5-2.fc19) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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