freebsd-dev/sys
Alexander Motin 73942c5ce0 Issue all reads of single XCOPY segment simultaneously.
During vMotion and Clone VMware by default runs multiple sequential 4MB
XCOPY requests same time.  If CTL issues reads sequentially in 1MB chunks
for each XCOPY command, reads from different commands are not detected
as sequential by serseq option code and allowed to execute simultaneously.
Such read pattern confused ZFS prefetcher, causing suboptimal disk access.
Issuing all reads same time make serseq code work properly, serializing
reads both within each XCOPY command and between them.

My tests with ZFS pool of 14 disks in RAID10 shows prefetcher efficiency
improved from 37% to 99.7%, copying speed improved by 10-60%, average
read latency reduced twice on HDD layer and by five times on zvol layer.

MFC after:	2 weeks
Sponsored by:	iXsystems, Inc.
2015-08-05 13:46:15 +00:00
..
amd64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
arm Add two new pmap functions: 2015-08-04 19:46:13 +00:00
arm64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
boot Fix a problem which made loader(8) load non-kld files twice. 2015-08-03 16:27:36 +00:00
bsm
cam Issue all reads of single XCOPY segment simultaneously. 2015-08-05 13:46:15 +00:00
cddl Remove a couple of unused fields from the FBT probe struct. 2015-08-03 17:39:36 +00:00
compat Regenerate the system call table. 2015-08-05 13:10:13 +00:00
conf Load the stack in stack_save and stack_save_td. This uses the generalised 2015-07-31 15:32:32 +00:00
contrib Import the latest CloudABI system call definitions and table. 2015-08-05 13:09:46 +00:00
crypto const'ify an arg that we don't update... 2015-07-29 23:37:15 +00:00
ddb Various changes to the registers displayed in DDB for x86. 2015-07-22 01:09:02 +00:00
dev Remove one more that crept in unnecessarily from previous commit. 2015-08-05 01:52:52 +00:00
fs This patch fixes a problem where, if the NFSv4 server has a previous 2015-07-29 23:06:30 +00:00
gdb CALLOUT_MPSAFE has lost its meaning since r141428, i.e., for more than ten 2015-05-22 17:05:21 +00:00
geom Fix panic triggered by code like this: 2015-08-04 10:40:08 +00:00
gnu The GNU Amlogic DTS files have some errors (e.g. bad register 2015-04-11 08:17:39 +00:00
i386 Fix UP build after r286296, ensure that CPU_FOREACH() is defined. 2015-08-05 10:50:33 +00:00
isa
kern Allow the creation of kqueues with a restricted set of Capsicum rights. 2015-08-05 07:36:50 +00:00
kgssapi
libkern Remove checks for __ARM_EABI__, we only build for EABI now. 2015-07-09 21:02:40 +00:00
mips Add two new pmap functions: 2015-08-04 19:46:13 +00:00
modules Build if_stf(4) module only when both INET and INET6 support are enabled. 2015-07-30 10:26:43 +00:00
net Remove the mtx_sleep() from the kqueue f_event filter. 2015-08-03 22:14:45 +00:00
net80211 Break out the current 802.11 software scan methods into an indirect table. 2015-06-08 02:35:43 +00:00
netgraph * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
netinet The mbuf parameter to ip_output_pfil() must be an output parameter since 2015-08-03 17:47:02 +00:00
netinet6 Decompose TCP INP_INFO lock to increase short-lived TCP connections scalability: 2015-08-03 12:13:54 +00:00
netipsec Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
netnatm
netpfil Reduce overhead of ipfw's me6 opcode. 2015-07-29 10:53:42 +00:00
netsmb
nfs
nfsclient Remove some oldnfs remnants. 2015-04-18 16:08:06 +00:00
nfsserver
nlm
ofed Avoid calling into the random subsystem before it is initialized. 2015-08-04 09:45:10 +00:00
opencrypto Make IPsec work with AES-GCM and AES-ICM (aka CTR) in OCF... IPsec 2015-08-04 17:47:11 +00:00
pc98 Spell crypto correctly. 2015-07-14 10:47:56 +00:00
powerpc Add two new pmap functions: 2015-08-04 19:46:13 +00:00
rpc Remove useless acquire semantic from the atomic_add operation before 2015-07-28 06:58:10 +00:00
security fd: make 'rights' a manadatory argument to fget* functions 2015-07-05 19:05:16 +00:00
sparc64 Add two new pmap functions: 2015-08-04 19:46:13 +00:00
sys Allow the creation of kqueues with a restricted set of Capsicum rights. 2015-08-05 07:36:50 +00:00
teken
tools
ufs - Make 'struct buf *buf' private to vfs_bio.c. Having a global variable 2015-07-29 02:26:57 +00:00
vm Properly sort the function declarations added in r286296 2015-08-05 10:48:32 +00:00
x86 Fix style(9) bugs. 2015-08-04 18:59:54 +00:00
xdr
xen Add support for Xen blkif indirect segment I/Os. This makes it possible for 2015-07-30 03:50:01 +00:00
Makefile Kill EoL whitespace. 2015-05-29 14:03:07 +00:00