[PATCH v2 4/4] arm64: accelerate crc32_be
Catalin Marinas
catalin.marinas at arm.com
Tue Jan 18 01:51:41 PST 2022
On Thu, Jan 13, 2022 at 06:58:07PM +0200, Kevin Bracey wrote:
> 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 at bracey.fi>
> Tested-by: Ard Biesheuvel <ardb at kernel.org>
> Reviewed-by: Ard Biesheuvel <ardb at kernel.org>
> Cc: Catalin Marinas <catalin.marinas at arm.com>
> Cc: Will Deacon <will at kernel.org>
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list