Skip to content

Optimize dm-verity using 2-way interleaved SHA-256 hashing

Eric Biggers dm-devel linux-crypto lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4dm-verity: remove log message with shash driver namedrivers/md/dm-verity-target.c+0 -10 replies
2/4dm-verity: use SHA-256 library for SHA-256drivers/md/Kconfig drivers/md/dm-verity-target.c drivers/md/dm-verity.h+64 -180 replies
3/4dm-verity: reduce scope of real and wanted digestsdrivers/md/dm-verity-fec.c drivers/md/dm-verity-fec.h drivers/md/dm-verity-target.c +1 more+34 -310 replies
4/4dm-verity: use 2-way interleaved SHA-256 hashing when supporteddrivers/md/dm-verity-target.c drivers/md/dm-verity.h+103 -410 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] Optimize dm-verity using 2-way interleaved SHA-256 hashing

This series makes dm-verity take advantage of the 2-way interleaved SHA-256 hashing code that was added in 6.18. fsverity already does this; this brings the same optimization to dm-verity. This increases SHA-256 hashing throughput by up to 98% on x86_64 and 70% on arm64.

To make this possible, this series makes dm-verity use the SHA-256 library when the hash algorithm is SHA-256 (which it usually is). That actually provides a ~2% performance improvement by itself, in addition to the larger improvement from interleaved hashing on x86_64 and arm64.

As usual, I verified that 'verity-compat-test' still passes.

This series is targeting linux-dm/for-next.

Eric Biggers (4):
dm-verity: remove log message with shash driver name
dm-verity: use SHA-256 library for SHA-256
dm-verity: reduce scope of real and wanted digests
dm-verity: use 2-way interleaved SHA-256 hashing when supported

 drivers/md/Kconfig            |   1 +
 drivers/md/dm-verity-fec.c    |  21 ++--
 drivers/md/dm-verity-fec.h    |   5 +-
 drivers/md/dm-verity-target.c | 203 +++++++++++++++++++++++++---------
 drivers/md/dm-verity.h        |  52 +++++----
 5 files changed, 196 insertions(+), 86 deletions(-)

base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787

Signature · 1 line
2.51.0