freebsd-dev/man
Alexander Motin 2041d6eecd
Improve scrub maxinflight_bytes math.
Previously, ZFS scaled maxinflight_bytes based on total number of
disks in the pool.  A 3-wide mirror was receiving a queue depth of 3
disks, which it should not, since it reads from all the disks inside.
For wide raidz the situation was slightly better, but still a 3-wide
raidz1 received a depth of 3 disks instead of 2.

The new code counts only unique data disks, i.e. 1 disk for mirrors
and non-parity disks for raidz/draid.  For draid the math is still
imperfect, since vdev_get_nparity() returns number of parity disks
per group, not per vdev, but still some better than it was.

This should slightly reduce scrub influence on payload for some pool
topologies by avoiding excessive queuing.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Ryan Moeller <ryan@iXsystems.com>
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored-By:	iXsystems, Inc.
Closing #12046
2021-05-27 10:11:39 -06:00
..
man1 Distributed Spare (dRAID) Feature 2020-11-13 13:51:51 -08:00
man5 Improve scrub maxinflight_bytes math. 2021-05-27 10:11:39 -06:00
man8 etc/systemd/zfs-mount-generator: rewrite in C 2021-05-27 08:45:51 -07:00
Makefile.am Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00