[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250204195456.GA1385@sol.localdomain>
Date: Tue, 4 Feb 2025 11:54:56 -0800
From: Eric Biggers <ebiggers@...nel.org>
To: linux-kernel@...r.kernel.org
Cc: linux-crypto@...r.kernel.org, x86@...nel.org,
linux-block@...r.kernel.org, Ard Biesheuvel <ardb@...nel.org>,
Keith Busch <kbusch@...nel.org>,
Kent Overstreet <kent.overstreet@...ux.dev>,
"Martin K . Petersen" <martin.petersen@...cle.com>
Subject: Re: [PATCH v2 00/11] CRC64 library rework and x86 CRC optimization
On Wed, Jan 29, 2025 at 07:51:19PM -0800, Eric Biggers wrote:
> This patchset applies to commit 72deda0abee6e7 and is also available at:
>
> git fetch https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git crc-x86-v2
>
> This is the next major set of CRC library improvements, targeting 6.15.
>
> Patches 1-5 rework the CRC64 library along the lines of what I did for
> CRC32 and CRC-T10DIF in 6.14. They add direct support for
> architecture-specific optimizations, fix the naming of the NVME CRC64
> variant, and eliminate a pointless use of the crypto API.
>
> Patches 6-10 replace the existing x86 PCLMULQDQ optimized CRC code with
> new code that is shared among the different CRC variants and also adds
> VPCLMULQDQ support, greatly improving performance on recent CPUs.
> Patch 11 wires up the same optimization to crc64_be() and crc64_nvme()
> (a.k.a. the old "crc64_rocksoft") which previously were unoptimized,
> improving the performance of those CRC functions by as much as 100x.
> crc64_be is used by bcachefs, and crc64_nvme is used by blk-integrity.
Applied patches 1-5 to
https://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux.git/log/?h=crc-next
I'm still working a bit on the x86 assembly and am planning to do a v3 for
patches 6-11.
- Eric
Powered by blists - more mailing lists