summaryrefslogtreecommitdiffstats
path: root/sbin
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-12-10 23:51:24 +0000
committermav <mav@FreeBSD.org>2009-12-10 23:51:24 +0000
commitb7c3027e4b5adcc8ba4975712319430b8204258f (patch)
tree6dc88d4a3f7359cf4e718a83de28039c7cac74a1 /sbin
parentf528a2ab99a9e4a3e7f2e20e71530483fcfc0d65 (diff)
downloadFreeBSD-src-b7c3027e4b5adcc8ba4975712319430b8204258f.zip
FreeBSD-src-b7c3027e4b5adcc8ba4975712319430b8204258f.tar.gz
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.
Diffstat (limited to 'sbin')
-rw-r--r--sbin/geom/class/mirror/geom_mirror.c2
-rw-r--r--sbin/geom/class/mirror/gmirror.84
2 files changed, 3 insertions, 3 deletions
diff --git a/sbin/geom/class/mirror/geom_mirror.c b/sbin/geom/class/mirror/geom_mirror.c
index 6ac4fb9..cf15c60 100644
--- a/sbin/geom/class/mirror/geom_mirror.c
+++ b/sbin/geom/class/mirror/geom_mirror.c
@@ -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;
diff --git a/sbin/geom/class/mirror/gmirror.8 b/sbin/geom/class/mirror/gmirror.8
index ea0cb9a..baaa827 100644
--- a/sbin/geom/class/mirror/gmirror.8
+++ b/sbin/geom/class/mirror/gmirror.8
@@ -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 of:
.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 component to read.
.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.
OpenPOWER on IntegriCloud