Skip to content
  • Mandeep Singh Baines's avatar
    lib/sha1: use the git implementation of SHA-1 · 1eb19a12
    Mandeep Singh Baines authored
    
    
    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: default avatarMandeep 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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    1eb19a12