diff options
author | Kevin Bracey <kevin@bracey.fi> | 2022-01-18 11:23:51 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2022-01-31 01:21:43 +0100 |
commit | 5f2f5eaa3e373c3a07a4f3552fe13d9cde5e23e5 (patch) | |
tree | 0e1052b3c560bb62dd68e74b379da22f6d190d47 /LICENSES | |
parent | lib/crc32test: correct printed bytes count (diff) | |
download | linux-5f2f5eaa3e373c3a07a4f3552fe13d9cde5e23e5.tar.xz linux-5f2f5eaa3e373c3a07a4f3552fe13d9cde5e23e5.zip |
arm64: lib: accelerate crc32_be
It makes no sense to leave crc32_be using the generic code while we
only accelerate the little-endian ops.
Even though the big-endian form doesn't fit as smoothly into the arm64,
we can speed it up and avoid hitting the D cache.
Tested on Cortex-A53. Without acceleration:
crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64
crc32: self tests passed, processed 225944 bytes in 192240 nsec
crc32c: CRC_LE_BITS = 64
crc32c: self tests passed, processed 112972 bytes in 21360 nsec
With acceleration:
crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64
crc32: self tests passed, processed 225944 bytes in 53480 nsec
crc32c: CRC_LE_BITS = 64
crc32c: self tests passed, processed 112972 bytes in 21480 nsec
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Tested-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'LICENSES')
0 files changed, 0 insertions, 0 deletions