HomeFreeBSD

MFC r300059 (by asomers): Speed up vdev_geom_open_by_guids

Description

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.

Details

Provenance
mavAuthored on
Parents
rS308059: MFC r298814 (by asomers): Fix a use-after-free when "zpool import" fails
Branches
Unknown
Tags
Unknown