All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Sami Tolvanen <samitolvanen@google.com>
Cc: "linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-crypto@vger.kernel.org" <linux-crypto@vger.kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	"David S. Miller" <davem@davemloft.net>,
	Andy Polyakov <appro@openssl.org>
Subject: Re: [PATCHv2] arm: crypto: Add optimized SHA-256/224
Date: Mon, 23 Mar 2015 19:26:03 +0100	[thread overview]
Message-ID: <CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com> (raw)
In-Reply-To: <20150323135009.GB820@google.com>

(resending due to size bounce)

On 23 March 2015 at 14:50, Sami Tolvanen <samitolvanen@google.com> wrote:
> Add Andy Polyakov's optimized assembly and NEON implementations for
> SHA-256/224.
>
> The sha256-armv4.pl script for generating the assembly code is from
> OpenSSL commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe.
>
> Compared to sha256-generic these implementations have the following
> tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805):
>
>   bs    b/u      sha256-neon  sha256-asm
>   16    16       x1.32        x1.19
>   64    16       x1.27        x1.15
>   64    64       x1.36        x1.20
>   256   16       x1.22        x1.11
>   256   64       x1.36        x1.19
>   256   256      x1.59        x1.23
>   1024  16       x1.21        x1.10
>   1024  256      x1.65        x1.23
>   1024  1024     x1.76        x1.25
>   2048  16       x1.21        x1.10
>   2048  256      x1.66        x1.23
>   2048  1024     x1.78        x1.25
>   2048  2048     x1.79        x1.25
>   4096  16       x1.20        x1.09
>   4096  256      x1.66        x1.23
>   4096  1024     x1.79        x1.26
>   4096  4096     x1.82        x1.26
>   8192  16       x1.20        x1.09
>   8192  256      x1.67        x1.23
>   8192  1024     x1.80        x1.26
>   8192  4096     x1.85        x1.28
>   8192  8192     x1.85        x1.27
>
> Where bs refers to block size and b/u to bytes per update.
>
> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> Cc: Andy Polyakov <appro@openssl.org>
>

This builds fine and passes the tcrypt.ko tests in ARM and Thumb2 and
even in big-endian (ARM) mode, so

Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Nice work!

Ard.

> ---
> Changes since v1:
>   Rebased to Herbert's cryptodev tree
>   Include sha256-armv4.pl and use it to generate sha256-core.S
>   Add integer-only assembly version as sha256-asm
>   Add support for SHA-224 to the glue code
>   Change priority for sha256/224-ce to 300
>
> ---
>  arch/arm/crypto/Kconfig               |    7
>  arch/arm/crypto/Makefile              |    8
>  arch/arm/crypto/sha2-ce-glue.c        |    4
>  arch/arm/crypto/sha256-armv4.pl       |  713 ++++++
>  arch/arm/crypto/sha256-core.S_shipped | 2775 ++++++++++++++++++++++++
>  arch/arm/crypto/sha256_glue.c         |  246 ++
>  arch/arm/crypto/sha256_glue.h         |   23
>  arch/arm/crypto/sha256_neon_glue.c    |  172 +
>  8 files changed, 3945 insertions(+), 3 deletions(-)
>

WARNING: multiple messages have this Message-ID (diff)
From: ard.biesheuvel@linaro.org (Ard Biesheuvel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2] arm: crypto: Add optimized SHA-256/224
Date: Mon, 23 Mar 2015 19:26:03 +0100	[thread overview]
Message-ID: <CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com> (raw)
In-Reply-To: <20150323135009.GB820@google.com>

(resending due to size bounce)

On 23 March 2015 at 14:50, Sami Tolvanen <samitolvanen@google.com> wrote:
> Add Andy Polyakov's optimized assembly and NEON implementations for
> SHA-256/224.
>
> The sha256-armv4.pl script for generating the assembly code is from
> OpenSSL commit 2ecd32a1f8f0643ae7b38f59bbaf9f0d6ef326fe.
>
> Compared to sha256-generic these implementations have the following
> tcrypt speed improvements on Motorola Nexus 6 (Snapdragon 805):
>
>   bs    b/u      sha256-neon  sha256-asm
>   16    16       x1.32        x1.19
>   64    16       x1.27        x1.15
>   64    64       x1.36        x1.20
>   256   16       x1.22        x1.11
>   256   64       x1.36        x1.19
>   256   256      x1.59        x1.23
>   1024  16       x1.21        x1.10
>   1024  256      x1.65        x1.23
>   1024  1024     x1.76        x1.25
>   2048  16       x1.21        x1.10
>   2048  256      x1.66        x1.23
>   2048  1024     x1.78        x1.25
>   2048  2048     x1.79        x1.25
>   4096  16       x1.20        x1.09
>   4096  256      x1.66        x1.23
>   4096  1024     x1.79        x1.26
>   4096  4096     x1.82        x1.26
>   8192  16       x1.20        x1.09
>   8192  256      x1.67        x1.23
>   8192  1024     x1.80        x1.26
>   8192  4096     x1.85        x1.28
>   8192  8192     x1.85        x1.27
>
> Where bs refers to block size and b/u to bytes per update.
>
> Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
> Cc: Andy Polyakov <appro@openssl.org>
>

This builds fine and passes the tcrypt.ko tests in ARM and Thumb2 and
even in big-endian (ARM) mode, so

Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Nice work!

Ard.

> ---
> Changes since v1:
>   Rebased to Herbert's cryptodev tree
>   Include sha256-armv4.pl and use it to generate sha256-core.S
>   Add integer-only assembly version as sha256-asm
>   Add support for SHA-224 to the glue code
>   Change priority for sha256/224-ce to 300
>
> ---
>  arch/arm/crypto/Kconfig               |    7
>  arch/arm/crypto/Makefile              |    8
>  arch/arm/crypto/sha2-ce-glue.c        |    4
>  arch/arm/crypto/sha256-armv4.pl       |  713 ++++++
>  arch/arm/crypto/sha256-core.S_shipped | 2775 ++++++++++++++++++++++++
>  arch/arm/crypto/sha256_glue.c         |  246 ++
>  arch/arm/crypto/sha256_glue.h         |   23
>  arch/arm/crypto/sha256_neon_glue.c    |  172 +
>  8 files changed, 3945 insertions(+), 3 deletions(-)
>

  reply	other threads:[~2015-03-23 18:26 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 15:48 [PATCH] arm: crypto: Add NEON optimized SHA-256 Sami Tolvanen
2015-03-16 15:48 ` Sami Tolvanen
2015-03-16 16:08 ` Ard Biesheuvel
2015-03-16 16:08   ` Ard Biesheuvel
2015-03-16 16:23   ` Sami Tolvanen
2015-03-16 16:23     ` Sami Tolvanen
2015-03-17  6:56     ` Ard Biesheuvel
2015-03-17  6:56       ` Ard Biesheuvel
2015-03-17 15:09       ` Andy Polyakov
2015-03-17 15:09         ` Andy Polyakov
2015-03-17 15:21         ` Sami Tolvanen
2015-03-17 15:21           ` Sami Tolvanen
2015-03-17 15:51         ` Ard Biesheuvel
2015-03-17 15:51           ` Ard Biesheuvel
2015-03-23 13:50 ` [PATCHv2] arm: crypto: Add optimized SHA-256/224 Sami Tolvanen
2015-03-23 13:50   ` Sami Tolvanen
2015-03-23 18:26   ` Ard Biesheuvel [this message]
2015-03-23 18:26     ` Ard Biesheuvel
2015-03-24 11:35     ` Herbert Xu
2015-03-24 11:35       ` Herbert Xu
2015-03-24 11:40       ` Ard Biesheuvel
2015-03-24 11:40         ` Ard Biesheuvel
2015-03-24 11:46         ` Herbert Xu
2015-03-24 11:46           ` Herbert Xu
2015-03-24 11:57           ` Ard Biesheuvel
2015-03-24 11:57             ` Ard Biesheuvel
2015-03-24 11:32   ` Herbert Xu
2015-03-24 11:32     ` Herbert Xu
2015-03-24 11:33     ` Ard Biesheuvel
2015-03-24 11:33       ` Ard Biesheuvel
2015-03-24 12:27   ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 12:27     ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 12:42     ` Ard Biesheuvel
2015-03-24 12:42       ` Ard Biesheuvel
2015-03-24 13:05       ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 13:05         ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 13:06         ` Ard Biesheuvel
2015-03-24 13:06           ` Ard Biesheuvel
2015-03-24 14:46           ` Ard Biesheuvel
2015-03-24 14:46             ` Ard Biesheuvel
2015-03-24 17:05             ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 17:05               ` Jean-Christophe PLAGNIOL-VILLARD
2015-03-24 17:40               ` Ard Biesheuvel
2015-03-24 17:40                 ` Ard Biesheuvel
2015-03-24 18:17                 ` Sami Tolvanen
2015-03-24 18:17                   ` Sami Tolvanen
2015-03-25  6:49                   ` Ard Biesheuvel
2015-03-25  6:49                     ` Ard Biesheuvel
2015-03-27 10:42             ` Andy Polyakov
2015-03-27 10:42               ` Andy Polyakov
2015-03-27 10:44               ` Ard Biesheuvel
2015-03-27 10:44                 ` Ard Biesheuvel
2015-03-27 18:07                 ` Ard Biesheuvel
2015-03-27 18:07                   ` Ard Biesheuvel
2015-03-29 13:27                   ` Andy Polyakov
2015-03-29 13:27                     ` Andy Polyakov
2015-03-30  8:37   ` [PATCHv3] " Sami Tolvanen
2015-03-30  8:37     ` Sami Tolvanen
2015-04-01 12:43     ` Herbert Xu
2015-04-01 12:43       ` Herbert Xu
2015-04-01 13:19       ` Sami Tolvanen
2015-04-01 13:19         ` Sami Tolvanen
2015-04-03 10:04         ` Herbert Xu
2015-04-03 10:04           ` Herbert Xu
2015-03-25 20:00 ` [PATCH] arm: crypto: Add NEON optimized SHA-256 Jean-Christophe PLAGNIOL-VILLARD
2015-03-25 20:00   ` Jean-Christophe PLAGNIOL-VILLARD

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='CAKv+Gu8qcVVTqy6Fd8PMA8ZTxiMssKz+TbMQW=fAhCBpUH2jTw@mail.gmail.com' \
    --to=ard.biesheuvel@linaro.org \
    --cc=appro@openssl.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=samitolvanen@google.com \
    /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: link
Be 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.