diff options
author | asomers <asomers@FreeBSD.org> | 2016-05-17 15:17:23 +0000 |
---|---|---|
committer | asomers <asomers@FreeBSD.org> | 2016-05-17 15:17:23 +0000 |
commit | 1ca5fbab55c4ea1e7e2a5c600c3123a19b4522eb (patch) | |
tree | 8b715b8f9dfec708a50170b44f8b5bb79f8e9ab5 /sys/libkern/strdup.c | |
parent | 2724f6d6720db45c4240ba22a4a1cacf0bf84c15 (diff) | |
download | FreeBSD-src-1ca5fbab55c4ea1e7e2a5c600c3123a19b4522eb.zip FreeBSD-src-1ca5fbab55c4ea1e7e2a5c600c3123a19b4522eb.tar.gz |
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.
Reviewed by: avg
MFC after: 4 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D6153
Diffstat (limited to 'sys/libkern/strdup.c')
0 files changed, 0 insertions, 0 deletions