Wind River Support Network


LIN6-7458 : SHA1 AVX2 optimization support

Created: May 18, 2014    Updated: Dec 3, 2018
Resolved Date: May 25, 2014
Found In Version: 6.0
Fix Version:
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: BSP - Async


This git patch adds x86_64 AVX2 optimization of SHA1 transform to crypto support. The patch has been tested with 3.14.0-rc1 kernel.
    On a Haswell desktop, with turbo disabled and all cpus running at maximum frequency, tcrypt shows AVX2 performance improvement from 3% for 256 bytes update to 16% for 1024 bytes update over AVX implementation.
    This patch adds sha1_avx2_transform(), the glue, build and configuration changes needed for AVX2 optimization of SHA1 transform to crypto support.
    sha1-ssse3 is one module which adds the necessary optimization support (SSSE3/AVX/AVX2) for the low-level SHA1 transform function. With better optimization support, transform function is overridden as the case may be. In the case of AVX2, due to performance reasons across datablock sizes, the AVX or AVX2 transform function is used at run-time as it suits best. The Makefile change  herefore appends  the necessary objects to the linkage. Due to this, the patch merely  appends AVX2 transform to the existing build mix and Kconfig support and leaves the configuration build support as is.

Code is upstream done in v3.15 kernel.
[1] 37b28947170ebe55cb4f689ded5857d943c6578e
[2] 6c8c17cc7a8806dde074d7c0bf4d519dd4d028c5
[3] 6ca5afb8c26991cf4f13a8bcca870ec2a9522bf7
[4] 7c1da8d0d046174a4188b5729d7579abf3d29427

Other Downloads

Live chat