From owner-svn-src-all@FreeBSD.ORG Fri Dec 11 00:00:19 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E418106566B; Fri, 11 Dec 2009 00:00:19 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D7C3D8FC13; Fri, 11 Dec 2009 00:00:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nBB00Is9078931; Fri, 11 Dec 2009 00:00:18 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nBB00InE078928; Fri, 11 Dec 2009 00:00:18 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <200912110000.nBB00InE078928@svn.freebsd.org> From: Alexander Motin Date: Fri, 11 Dec 2009 00:00:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r200374 - stable/7/sbin/geom/class/mirror X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Dec 2009 00:00:19 -0000 Author: mav Date: Fri Dec 11 00:00:18 2009 New Revision: 200374 URL: http://svn.freebsd.org/changeset/base/200374 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/7/sbin/geom/class/mirror/geom_mirror.c stable/7/sbin/geom/class/mirror/gmirror.8 Directory Properties: stable/7/sbin/geom/ (props changed) stable/7/sbin/geom/class/label/ (props changed) stable/7/sbin/geom/class/part/ (props changed) stable/7/sbin/geom/misc/ (props changed) Modified: stable/7/sbin/geom/class/mirror/geom_mirror.c ============================================================================== --- stable/7/sbin/geom/class/mirror/geom_mirror.c Thu Dec 10 23:51:24 2009 (r200373) +++ stable/7/sbin/geom/class/mirror/geom_mirror.c Fri Dec 11 00:00:18 2009 (r200374) @@ -45,7 +45,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; Modified: stable/7/sbin/geom/class/mirror/gmirror.8 ============================================================================== --- stable/7/sbin/geom/class/mirror/gmirror.8 Thu Dec 10 23:51:24 2009 (r200373) +++ stable/7/sbin/geom/class/mirror/gmirror.8 Fri Dec 11 00:00:18 2009 (r200374) @@ -129,6 +129,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 @@ -136,7 +137,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.