35a76a0366
Builds off of 1eeb4562
(Implementation of AVX2 optimized Fletcher-4)
This commit adds another implementation of the Fletcher-4 algorithm.
It is automatically selected at module load if it benchmarks higher
than all other available implementations.
The module benchmark was also amended to analyze the performance of
the byteswap-ed version of Fletcher-4, as well as the non-byteswaped
version. The average performance of the two is used to select the
the fastest implementation available on the host system.
Adds a pair of fields to an existing zcommon module parameter:
- zfs_fletcher_4_impl (str)
"sse2" - new SSE2 implementation if available
"ssse3" - new SSSE3 implementation if available
Signed-off-by: Tyler J. Stachecki <stachecki.tyler@gmail.com>
Signed-off-by: Gvozden Neskovic <neskovic@gmail.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #4789
21 lines
512 B
Makefile
21 lines
512 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
|
|
$(MODULE)-$(CONFIG_X86) += zfs_fletcher_sse.o
|