[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