mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-21 11:44:01 +08:00
1eb19a12bd
For ChromiumOS, we use SHA-1 to verify the integrity of the root filesystem. The speed of the kernel sha-1 implementation has a major impact on our boot performance. To improve boot performance, we investigated using the heavily optimized sha-1 implementation used in git. With the git sha-1 implementation, we see a 11.7% improvement in boot time. 10 reboots, remove slowest/fastest. Before: Mean: 6.58 seconds Stdev: 0.14 After (with git sha-1, this patch): Mean: 5.89 seconds Stdev: 0.07 The other cool thing about the git SHA-1 implementation is that it only needs 64 bytes of stack for the workspace while the original kernel implementation needed 320 bytes. Signed-off-by: Mandeep Singh Baines <msb@chromium.org> Cc: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Cc: Nicolas Pitre <nico@cam.org> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: David S. Miller <davem@davemloft.net> Cc: linux-crypto@vger.kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
14 lines
309 B
C
14 lines
309 B
C
#ifndef __CRYPTOHASH_H
|
|
#define __CRYPTOHASH_H
|
|
|
|
#define SHA_DIGEST_WORDS 5
|
|
#define SHA_MESSAGE_BYTES (512 /*bits*/ / 8)
|
|
#define SHA_WORKSPACE_WORDS 16
|
|
|
|
void sha_init(__u32 *buf);
|
|
void sha_transform(__u32 *digest, const char *data, __u32 *W);
|
|
|
|
__u32 half_md4_transform(__u32 buf[4], __u32 const in[8]);
|
|
|
|
#endif
|