New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 702378 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

ec: Investigate sha256 performance optimizations

Project Member Reported by sha...@chromium.org, Mar 16 2017

Issue description

sha256 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.
 

Comment 1 by gkihumba@google.com, Mar 31 2017

Owner: nvaccaro@chromium.org
Status: Assigned (was: Untriaged)
Cc: drinkcat@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 13 2017

Labels: merge-merged-firmware-eve-9584.B
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

Comment 5 Deleted

Comment 6 Deleted

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 16 2017

Labels: merge-merged-firmware-cr50-9308.24.B
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

Owner: drinkcat@chromium.org
Status: Verified (was: Assigned)

Sign in to add a comment