zfs/include/linux
Richard Yao bc17f1047a Enable Linux read-ahead for a single page on ZVOLs
Linux has read-ahead logic designed to accelerate sequential workloads.
ZFS has its own read-ahead logic called zprefetch that operates on both
ZVOLs and datasets. Having two prefetchers active at the same time can
cause overprefetching, which unnecessarily reduces IOPS performance on
CoW filesystems like ZFS.

Testing shows that entirely disabling the Linux prefetch results in
a significant performance penalty for reads while commensurate benefits
are seen in random writes. It appears that read-ahead benefits are
inversely proportional to random write benefits, and so a single page
of Linux-layer read-ahead appears to offer the middle ground for both
workloads.

Reviewed-by: Chunwei Chen <david.chen@osnexus.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Richard Yao <ryao@gentoo.org>
Issue #5902
2017-05-04 18:00:27 -04:00
..
Makefile.am Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
blkdev_compat.h Enable Linux read-ahead for a single page on ZVOLs 2017-05-04 18:00:27 -04:00
dcache_compat.h cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
kmap_compat.h Add compatibility layer for {kmap,kunmap}_atomic 2015-08-24 10:13:25 -07:00
mod_compat.h Linux compat: Grsecurity kernel 2016-08-22 10:05:45 -07:00
simd_aarch64.h Add parity generation/rebuild using 128-bits NEON for Aarch64 2016-10-03 09:44:00 -07:00
simd_x86.h Use cstyle -cpP in `make cstyle` check 2016-12-12 10:46:26 -08:00
utsname_compat.h Update utsname support 2014-10-17 14:58:57 -07:00
vfs_compat.h Linux 4.12 compat: super_setup_bdi_name() 2017-05-02 09:46:18 -07:00
xattr_compat.h Linux 4.7 compat: handler->set() takes both dentry and inode 2016-06-01 18:10:06 -07:00