ec: Investigate sha256 performance optimizations |
|||||
Issue descriptionsha256 is often a bottleneck in device cold boot / SW sync. We should look into optimizing SHA256_transform(), there may be good performance gains to be had.
,
Sep 8 2017
,
Sep 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/797d740727813c7b600e8ecd9df0bb87b0d39678 commit 797d740727813c7b600e8ecd9df0bb87b0d39678 Author: Nicolas Boichat <drinkcat@chromium.org> Date: Mon Sep 11 11:42:59 2017 common/sha256: agressive SHA-256 unrolling as an option Reduces "hash done" time from ~1.30 to ~1.15s on soraka. BRANCH=none BUG= chromium:702378 BUG=b:64196191 TEST=Boot soraka, looks at hash done time. TEST=make run-sha256 run-sha256_unrolled passes. Change-Id: Ia29ee27404d6e9aa615ff59755b59d3f26648e71 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/652327 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> [modify] https://crrev.com/797d740727813c7b600e8ecd9df0bb87b0d39678/test/test_config.h [modify] https://crrev.com/797d740727813c7b600e8ecd9df0bb87b0d39678/test/build.mk [modify] https://crrev.com/797d740727813c7b600e8ecd9df0bb87b0d39678/common/sha256.c [add] https://crrev.com/797d740727813c7b600e8ecd9df0bb87b0d39678/test/sha256_unrolled.tasklist [modify] https://crrev.com/797d740727813c7b600e8ecd9df0bb87b0d39678/include/config.h
,
Sep 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/6644e880ade627300aa1bc80aa7d74100776d955 commit 6644e880ade627300aa1bc80aa7d74100776d955 Author: Nicolas Boichat <drinkcat@chromium.org> Date: Wed Sep 13 03:31:49 2017 common/sha256: agressive SHA-256 unrolling as an option Reduces "hash done" time from ~1.30 to ~1.15s on soraka. BRANCH=none BUG= chromium:702378 BUG=b:64196191 TEST=Boot soraka, looks at hash done time. TEST=make run-sha256 run-sha256_unrolled passes. Change-Id: I396e52b699874afb8a3cfd324bc9464722bf2d9a Signed-off-by: Duncan Laurie <dlaurie@google.com> Original-Commit-Id: 797d740727813c7b600e8ecd9df0bb87b0d39678 Original-Change-Id: Ia29ee27404d6e9aa615ff59755b59d3f26648e71 Original-Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/652327 Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Original-Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/663919 [modify] https://crrev.com/6644e880ade627300aa1bc80aa7d74100776d955/common/sha256.c [add] https://crrev.com/6644e880ade627300aa1bc80aa7d74100776d955/test/sha256_unrolled.tasklist [modify] https://crrev.com/6644e880ade627300aa1bc80aa7d74100776d955/include/config.h
,
Dec 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/6e08b160f69df172387ddb5ecc213b7ef362b13c commit 6e08b160f69df172387ddb5ecc213b7ef362b13c Author: Nicolas Boichat <drinkcat@chromium.org> Date: Sat Dec 16 01:12:30 2017 common/sha256: agressive SHA-256 unrolling as an option Reduces "hash done" time from ~1.30 to ~1.15s on soraka. BRANCH=none BUG= chromium:702378 BUG=b:64196191 TEST=Boot soraka, looks at hash done time. TEST=make run-sha256 run-sha256_unrolled passes. Change-Id: Ia29ee27404d6e9aa615ff59755b59d3f26648e71 Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/652327 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit 797d740727813c7b600e8ecd9df0bb87b0d39678) Reviewed-on: https://chromium-review.googlesource.com/828661 Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> [modify] https://crrev.com/6e08b160f69df172387ddb5ecc213b7ef362b13c/test/test_config.h [modify] https://crrev.com/6e08b160f69df172387ddb5ecc213b7ef362b13c/test/build.mk [modify] https://crrev.com/6e08b160f69df172387ddb5ecc213b7ef362b13c/common/sha256.c [add] https://crrev.com/6e08b160f69df172387ddb5ecc213b7ef362b13c/test/sha256_unrolled.tasklist [modify] https://crrev.com/6e08b160f69df172387ddb5ecc213b7ef362b13c/include/config.h
,
Feb 2 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by gkihumba@google.com
, Mar 31 2017Status: Assigned (was: Untriaged)