summaryrefslogtreecommitdiffstats
path: root/kernel/freezer.c
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2019-01-30 20:42:40 -0800
committerHerbert Xu <herbert@gondor.apana.org.au>2019-02-08 15:29:48 +0800
commit0974037fc55cdf27a0297d3487f4fafa57b4a4a9 (patch)
treee11d18ffd8f81ab7fbc924e4aa18497fcff77173 /kernel/freezer.c
parentf8903b3ead5191d450f21c7388ddc245f76cec0f (diff)
downloadlinux-0974037fc55cdf27a0297d3487f4fafa57b4a4a9.tar.bz2
crypto: x86/crct10dif-pcl - cleanup and optimizations
The x86, arm, and arm64 asm implementations of crct10dif are very difficult to understand partly because many of the comments, labels, and macros are named incorrectly: the lengths mentioned are usually off by a factor of two from the actual code. Many other things are unnecessarily convoluted as well, e.g. there are many more fold constants than actually needed and some aren't fully reduced. This series therefore cleans up all these implementations to be much more maintainable. I also made some small optimizations where I saw opportunities, resulting in slightly better performance. This patch cleans up the x86 version. As part of this, I removed support for len < 16 from the x86 assembly; now the glue code falls back to the generic table-based implementation in this case. Due to the overhead of kernel_fpu_begin(), this actually significantly improves performance on these lengths. (And even if kernel_fpu_begin() were free, the generic code is still faster for about len < 11.) This removal also eliminates error-prone special cases and makes the x86, arm32, and arm64 ports of the code match more closely. Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'kernel/freezer.c')
0 files changed, 0 insertions, 0 deletions