svn commit: r200373 - stable/8/sbin/geom/class/mirror

Alexander Motin mav at FreeBSD.org
Thu Dec 10 15:51:24 PST 2009


Author: mav
Date: Thu Dec 10 23:51:24 2009
New Revision: 200373
URL: http://svn.freebsd.org/changeset/base/200373

Log:
  MFC r200282, r200290:
  Change gmirror default balance algorithm from "split" to improved "load".
  "split" is very ineffective for devices with rotating media as HDDs.
  To be effective, it needs that transfer time reduction due to block
  splitting was bigger then access time increase due to non-sequential
  access. For modern HDDs I was able to reproduce it only with read sizes
  of 2MB and above, which is almost not applicable in real life.
  "load" algorithm same time is more universal and effective now.

Modified:
  stable/8/sbin/geom/class/mirror/geom_mirror.c
  stable/8/sbin/geom/class/mirror/gmirror.8
Directory Properties:
  stable/8/sbin/geom/   (props changed)

Modified: stable/8/sbin/geom/class/mirror/geom_mirror.c
==============================================================================
--- stable/8/sbin/geom/class/mirror/geom_mirror.c	Thu Dec 10 23:46:37 2009	(r200372)
+++ stable/8/sbin/geom/class/mirror/geom_mirror.c	Thu Dec 10 23:51:24 2009	(r200373)
@@ -44,7 +44,7 @@ __FBSDID("$FreeBSD$");
 uint32_t lib_version = G_LIB_VERSION;
 uint32_t version = G_MIRROR_VERSION;
 
-static char label_balance[] = "split", configure_balance[] = "none";
+static char label_balance[] = "load", configure_balance[] = "none";
 static intmax_t label_slice = 4096, configure_slice = -1;
 static intmax_t insert_priority = 0, configure_priority = -1;
 

Modified: stable/8/sbin/geom/class/mirror/gmirror.8
==============================================================================
--- stable/8/sbin/geom/class/mirror/gmirror.8	Thu Dec 10 23:46:37 2009	(r200372)
+++ stable/8/sbin/geom/class/mirror/gmirror.8	Thu Dec 10 23:51:24 2009	(r200373)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 1, 2009
+.Dd December 8, 2009
 .Dt GMIRROR 8
 .Os
 .Sh NAME
@@ -135,6 +135,7 @@ Specifies balance algorithm to use, one 
 .Bl -tag -width ".Cm round-robin"
 .It Cm load
 Read from the component with the lowest load.
+This is the default balance algorithm.
 .It Cm prefer
 Read from the component with the biggest priority.
 .It Cm round-robin
@@ -142,7 +143,6 @@ Use round-robin algorithm when choosing 
 .It Cm split
 Split read requests, which are bigger than or equal to slice size on N pieces,
 where N is the number of active components.
-This is the default balance algorithm.
 .El
 .It Fl F
 Do not synchronize after a power failure or system crash.


More information about the svn-src-all mailing list