]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r300059 (by asomers): Speed up vdev_geom_open_by_guids
authormav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 28 Oct 2016 18:24:05 +0000 (18:24 +0000)
committermav <mav@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 28 Oct 2016 18:24:05 +0000 (18:24 +0000)
commit2a94c7b92c8e683bcdb25e6435342ee199a1908b
tree2bdde3022f15002f864f9bcf53e4f226e38e80a4
parent3c9406df8fb35c74268d5feef3854ff14fb1d3da
MFC r300059 (by asomers): Speed up vdev_geom_open_by_guids

Speedup is hard to measure because the only time vdev_geom_open_by_guids
gets called on many drives at the same time is during boot. But with
vdev_geom_open hacked to always call vdev_geom_open_by_guids, operations
like "zpool create" speed up by 65%.

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c

        * Read all of a vdev's labels in parallel instead of sequentially.
        * In vdev_geom_read_config, don't read the entire label, including
          the uberblock.  That's a waste of RAM.  Just read the vdev config
          nvlist.  Reduces the IO and RAM involved with tasting from 1MB to
          448KB.

git-svn-id: svn://svn.freebsd.org/base/stable/10@308060 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c