On Wed, Feb 05, 2025 at 08:30:12AM -0800, Eric Biggers wrote: > On Wed, Feb 05, 2025 at 02:58:15PM +0800, Zhihang Shao wrote: > > The current CRC-T10DIF algorithm on RISC-V platform is based on > > table-lookup optimization. > > Given the previous work on optimizing crc32 calculations with zbc > > extension, it is believed that this will be equally effective for > > accelerating crc-t10dif. > > > > Therefore this patch offers an implementation of crc-t10dif using zbc > > extension. This can detect whether the current runtime environment > > supports zbc feature and, if so, uses it to accelerate crc-t10dif > > calculations. > > > > This patch is updated due to the patchset of updating kernel's > > CRC-T10DIF library in 6.14, which is finished by Eric Biggers. > > Also, I used crc_kunit.c to test the performance of crc-t10dif optimized > > by crc extension. > > > > Signed-off-by: Zhihang Shao <zhihang.shao.iscas@xxxxxxxxx> > > --- > > arch/riscv/Kconfig | 1 + > > arch/riscv/lib/Makefile | 1 + > > arch/riscv/lib/crc-t10dif-riscv.c | 132 ++++++++++++++++++++++++++++++ > > 3 files changed, 134 insertions(+) > > create mode 100644 arch/riscv/lib/crc-t10dif-riscv.c > > Acked-by: Eric Biggers <ebiggers@xxxxxxxxxx> > Tested-by: Eric Biggers <ebiggers@xxxxxxxxxx> > > This can go through the riscv tree. > Actually, if people don't mind I'd like to take this through the crc tree. Due to https://lore.kernel.org/r/20250206173857.39794-1-ebiggers@xxxxxxxxxx the function crc_t10dif_is_optimized() becomes unused and we should remove it, which would conflict with this patch which adds another implementation of it. - Eric