1eeb4562a7
New functionality: - Preserves existing scalar implementation. - Adds AVX2 optimized Fletcher-4 computation. - Fastest routines selected on module load (benchmark). - Test case for Fletcher-4 added to ztest. New zcommon module parameters: - zfs_fletcher_4_impl (str): selects the implementation to use. "fastest" - use the fastest version available "cycle" - cycle trough all available impl for ztest "scalar" - use the original version "avx2" - new AVX2 implementation if available Performance comparison (Intel i7 CPU, 1MB data buffers): - Scalar: 4216 MB/s - AVX2: 14499 MB/s See contents of `/sys/module/zcommon/parameters/zfs_fletcher_4_impl` to get list of supported values. If an implementation is not supported on the system, it will not be shown. Currently selected option is enclosed in `[]`. Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #4330
20 lines
466 B
Makefile
20 lines
466 B
Makefile
src = @abs_top_srcdir@/module/zcommon
|
|
obj = @abs_builddir@
|
|
|
|
MODULE := zcommon
|
|
|
|
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
|
|
|
|
obj-$(CONFIG_ZFS) := $(MODULE).o
|
|
|
|
$(MODULE)-objs += zfs_deleg.o
|
|
$(MODULE)-objs += zfs_prop.o
|
|
$(MODULE)-objs += zprop_common.o
|
|
$(MODULE)-objs += zfs_namecheck.o
|
|
$(MODULE)-objs += zfs_comutil.o
|
|
$(MODULE)-objs += zfs_fletcher.o
|
|
$(MODULE)-objs += zfs_uio.o
|
|
$(MODULE)-objs += zpool_prop.o
|
|
|
|
$(MODULE)-$(CONFIG_X86) += zfs_fletcher_intel.o
|