Whamcloud - gitweb
LU-3570 libcfs: accelerate crc32c with pclmulqdq 27/6927/13
authorJames Simmons <uja.ornl@gmail.com>
Mon, 14 Oct 2013 15:26:29 +0000 (11:26 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 1 Nov 2013 23:13:41 +0000 (23:13 +0000)
commit22c8262f0d7093bf120e100aaf42bd8782b9879a
treee5768f792708ef3ae6f17fc56c054bca81f2b7e2
parent85899bef9dbdbd5b9c2361974ec42f3cc5c3e4a1
LU-3570 libcfs: accelerate crc32c with pclmulqdq

Using hardware provided PCLMULQDQ instruction to accelerate
CRC32C check sum. This instruction is present starting with
Intel Westmere and AMD Bulldozer CPUs.

Also reorganize assembler code of other PCLMUL inmplementation
with using common assembler macros from inst.h.

Signed-off-by: James Simmons <uja.ornl@gmail.com>
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Change-Id: I2099ff8af3591b3e2267cb30486d7a4f0a3e90c0
Reviewed-on: http://review.whamcloud.com/6927
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
12 files changed:
libcfs/autoconf/lustre-libcfs.m4
libcfs/include/libcfs/linux/linux-crypto.h
libcfs/libcfs/Makefile.in
libcfs/libcfs/autoMakefile.am
libcfs/libcfs/linux/Makefile.am
libcfs/libcfs/linux/crc32-pclmul_asm.S [moved from libcfs/libcfs/crc32-pclmul_asm.S with 77% similarity]
libcfs/libcfs/linux/crc32c-pcl-intel-asm_64.S [new file with mode: 0644]
libcfs/libcfs/linux/inst.h [new file with mode: 0644]
libcfs/libcfs/linux/linux-crypto-crc32c-pclmul.c [new file with mode: 0644]
libcfs/libcfs/linux/linux-crypto-crc32pclmul.c
libcfs/libcfs/linux/linux-crypto.c
libcfs/libcfs/user-crypto.c