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
..
2015-08-04 19:46:13 +00:00
2015-08-04 19:46:13 +00:00
2015-08-04 19:46:13 +00:00
2015-08-05 13:10:13 +00:00
2015-08-04 19:46:13 +00:00
2015-04-18 16:08:06 +00:00
2015-07-14 10:47:56 +00:00
2015-08-04 19:46:13 +00:00
2015-08-04 19:46:13 +00:00
2015-08-04 18:59:54 +00:00
2015-05-29 14:03:07 +00:00