6a9d635998
This patch implement the hardware accelerator method in GZIP compression in ZFS. When the ZFS pool is enabled GZIP compression, the compression API will be automatically transferred to the hardware accelerator to free up CPU resource and speed up the compression time. * To enable Intel QAT hardware acceleration in ZOL you need to have QAT hardware and the driver installed: * QAT hardware DH8950: http://ark.intel.com/products/79483/Intel-QuickAssist-Adapter-8950 * QAT driver: https://01.org/intel-quickassist-technology * Start QAT driver in your system: service qat_service start * Enable QAT in ZFS, e.g.: ./configure --with-qat=<qat-driver-path>/QAT1.6 make * Set GZIP compression in ZFS dataset: zfs set compression = gzip <dataset> * Get QAT hardware statistics by: cat /proc/spl/kstat/zfs/qat * To disable QAT in ZFS: insmod zfs.ko zfs_qat_disable=1 Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by: Weigang Li <weigang.li@intel.com> Closes #5846
127 lines
3.6 KiB
Makefile
127 lines
3.6 KiB
Makefile
src = @abs_top_srcdir@/module/zfs
|
|
obj = @abs_builddir@
|
|
|
|
MODULE := zfs
|
|
|
|
EXTRA_CFLAGS = $(ZFS_MODULE_CFLAGS) @KERNELCPPFLAGS@
|
|
|
|
obj-$(CONFIG_ZFS) := $(MODULE).o
|
|
|
|
$(MODULE)-objs += abd.o
|
|
$(MODULE)-objs += arc.o
|
|
$(MODULE)-objs += blkptr.o
|
|
$(MODULE)-objs += bplist.o
|
|
$(MODULE)-objs += bpobj.o
|
|
$(MODULE)-objs += dbuf.o
|
|
$(MODULE)-objs += dbuf_stats.o
|
|
$(MODULE)-objs += bptree.o
|
|
$(MODULE)-objs += bqueue.o
|
|
$(MODULE)-objs += ddt.o
|
|
$(MODULE)-objs += ddt_zap.o
|
|
$(MODULE)-objs += dmu.o
|
|
$(MODULE)-objs += dmu_diff.o
|
|
$(MODULE)-objs += dmu_object.o
|
|
$(MODULE)-objs += dmu_objset.o
|
|
$(MODULE)-objs += dmu_send.o
|
|
$(MODULE)-objs += dmu_traverse.o
|
|
$(MODULE)-objs += dmu_tx.o
|
|
$(MODULE)-objs += dmu_zfetch.o
|
|
$(MODULE)-objs += dnode.o
|
|
$(MODULE)-objs += dnode_sync.o
|
|
$(MODULE)-objs += dsl_dataset.o
|
|
$(MODULE)-objs += dsl_deadlist.o
|
|
$(MODULE)-objs += dsl_deleg.o
|
|
$(MODULE)-objs += dsl_bookmark.o
|
|
$(MODULE)-objs += dsl_dir.o
|
|
$(MODULE)-objs += dsl_pool.o
|
|
$(MODULE)-objs += dsl_prop.o
|
|
$(MODULE)-objs += dsl_scan.o
|
|
$(MODULE)-objs += dsl_synctask.o
|
|
$(MODULE)-objs += edonr_zfs.o
|
|
$(MODULE)-objs += fm.o
|
|
$(MODULE)-objs += gzip.o
|
|
$(MODULE)-objs += lzjb.o
|
|
$(MODULE)-objs += lz4.o
|
|
$(MODULE)-objs += metaslab.o
|
|
$(MODULE)-objs += multilist.o
|
|
$(MODULE)-objs += pathname.o
|
|
$(MODULE)-objs += policy.o
|
|
$(MODULE)-objs += range_tree.o
|
|
$(MODULE)-objs += refcount.o
|
|
$(MODULE)-objs += rrwlock.o
|
|
$(MODULE)-objs += sa.o
|
|
$(MODULE)-objs += sha256.o
|
|
$(MODULE)-objs += skein_zfs.o
|
|
$(MODULE)-objs += spa.o
|
|
$(MODULE)-objs += spa_boot.o
|
|
$(MODULE)-objs += spa_config.o
|
|
$(MODULE)-objs += spa_errlog.o
|
|
$(MODULE)-objs += spa_history.o
|
|
$(MODULE)-objs += spa_misc.o
|
|
$(MODULE)-objs += spa_stats.o
|
|
$(MODULE)-objs += space_map.o
|
|
$(MODULE)-objs += space_reftree.o
|
|
$(MODULE)-objs += txg.o
|
|
$(MODULE)-objs += trace.o
|
|
$(MODULE)-objs += uberblock.o
|
|
$(MODULE)-objs += unique.o
|
|
$(MODULE)-objs += vdev.o
|
|
$(MODULE)-objs += vdev_cache.o
|
|
$(MODULE)-objs += vdev_disk.o
|
|
$(MODULE)-objs += vdev_file.o
|
|
$(MODULE)-objs += vdev_label.o
|
|
$(MODULE)-objs += vdev_mirror.o
|
|
$(MODULE)-objs += vdev_missing.o
|
|
$(MODULE)-objs += vdev_queue.o
|
|
$(MODULE)-objs += vdev_raidz.o
|
|
$(MODULE)-objs += vdev_raidz_math.o
|
|
$(MODULE)-objs += vdev_raidz_math_scalar.o
|
|
$(MODULE)-objs += vdev_root.o
|
|
$(MODULE)-objs += zap.o
|
|
$(MODULE)-objs += zap_leaf.o
|
|
$(MODULE)-objs += zap_micro.o
|
|
$(MODULE)-objs += zfeature.o
|
|
$(MODULE)-objs += zfeature_common.o
|
|
$(MODULE)-objs += zfs_acl.o
|
|
$(MODULE)-objs += zfs_byteswap.o
|
|
$(MODULE)-objs += zfs_ctldir.o
|
|
$(MODULE)-objs += zfs_debug.o
|
|
$(MODULE)-objs += zfs_dir.o
|
|
$(MODULE)-objs += zfs_fm.o
|
|
$(MODULE)-objs += zfs_fuid.o
|
|
$(MODULE)-objs += zfs_ioctl.o
|
|
$(MODULE)-objs += zfs_log.o
|
|
$(MODULE)-objs += zfs_onexit.o
|
|
$(MODULE)-objs += zfs_replay.o
|
|
$(MODULE)-objs += zfs_rlock.o
|
|
$(MODULE)-objs += zfs_sa.o
|
|
$(MODULE)-objs += zfs_vfsops.o
|
|
$(MODULE)-objs += zfs_vnops.o
|
|
$(MODULE)-objs += zfs_znode.o
|
|
$(MODULE)-objs += zil.o
|
|
$(MODULE)-objs += zio.o
|
|
$(MODULE)-objs += zio_checksum.o
|
|
$(MODULE)-objs += zio_compress.o
|
|
$(MODULE)-objs += zio_inject.o
|
|
$(MODULE)-objs += zle.o
|
|
$(MODULE)-objs += zpl_ctldir.o
|
|
$(MODULE)-objs += zpl_export.o
|
|
$(MODULE)-objs += zpl_file.o
|
|
$(MODULE)-objs += zpl_inode.o
|
|
$(MODULE)-objs += zpl_super.o
|
|
$(MODULE)-objs += zpl_xattr.o
|
|
$(MODULE)-objs += zrlock.o
|
|
$(MODULE)-objs += zvol.o
|
|
$(MODULE)-objs += dsl_destroy.o
|
|
$(MODULE)-objs += dsl_userhold.o
|
|
$(MODULE)-objs += qat_compress.o
|
|
|
|
$(MODULE)-$(CONFIG_X86) += vdev_raidz_math_sse2.o
|
|
$(MODULE)-$(CONFIG_X86) += vdev_raidz_math_ssse3.o
|
|
$(MODULE)-$(CONFIG_X86) += vdev_raidz_math_avx2.o
|
|
$(MODULE)-$(CONFIG_X86) += vdev_raidz_math_avx512f.o
|
|
$(MODULE)-$(CONFIG_X86) += vdev_raidz_math_avx512bw.o
|
|
|
|
$(MODULE)-$(CONFIG_ARM64) += vdev_raidz_math_aarch64_neon.o
|
|
$(MODULE)-$(CONFIG_ARM64) += vdev_raidz_math_aarch64_neonx2.o
|