freebsd-skq/sys/cddl
asomers 1ca5fbab55 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
2016-05-17 15:17:23 +00:00
..
boot/zfs Include arpa/inet.h to get the htonl(3) definition 2016-05-13 11:15:33 +00:00
compat/opensolaris fix a vnode reference leak caused by illumos compat traverse() 2016-05-16 12:15:19 +00:00
contrib/opensolaris Speed up vdev_geom_open_by_guids 2016-05-17 15:17:23 +00:00
dev Add an EARLY_AP_STARTUP option to start APs earlier during boot. 2016-05-14 18:22:52 +00:00