From owner-cvs-src@FreeBSD.ORG Sat Aug 21 18:11:47 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1084F16A4CE; Sat, 21 Aug 2004 18:11:47 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 071DD43D1D; Sat, 21 Aug 2004 18:11:47 +0000 (GMT) (envelope-from pjd@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.11/8.12.11) with ESMTP id i7LIBkWi086395; Sat, 21 Aug 2004 18:11:46 GMT (envelope-from pjd@repoman.freebsd.org) Received: (from pjd@localhost) by repoman.freebsd.org (8.12.11/8.12.11/Submit) id i7LIBk9v086394; Sat, 21 Aug 2004 18:11:46 GMT (envelope-from pjd) Message-Id: <200408211811.i7LIBk9v086394@repoman.freebsd.org> From: Pawel Jakub Dawidek Date: Sat, 21 Aug 2004 18:11:46 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/geom/raid3 g_raid3.c g_raid3.h g_raid3_ctl.c src/sbin/geom/class/raid3 geom_raid3.c graid3.8 X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Aug 2004 18:11:47 -0000 pjd 2004-08-21 18:11:46 UTC FreeBSD src repository Modified files: sys/geom/raid3 g_raid3.c g_raid3.h g_raid3_ctl.c sbin/geom/class/raid3 geom_raid3.c graid3.8 Log: Implement new reading algorithm, which will use parity component for reading as well, even if device is in complete state. I observe 40% of speed-up with this option for random read operations, but slowdown for sequential reads. Basically, without this option reading from a RAID3 device built from 5 components (c0-c4) looks like this: Request no. Used components 1 c0+c1+c2+c3 2 c0+c1+c2+c3 3 c0+c1+c2+c3 With the new feature: Request no. Used components 1 c0+c1+c2+c3 2 (c1^c2^c3^c4)+c1+c2+c3 3 c0+(c0^c2^c3^c4)+c2+c3 4 c0+c1+(c0^c1^c3^c4)+c3 5 c0+c1+c2+(c0^c1^c2^c4) 6 c0+c1+c2+c3 [...] Revision Changes Path 1.3 +14 -3 src/sbin/geom/class/raid3/geom_raid3.c 1.2 +16 -6 src/sbin/geom/class/raid3/graid3.8 1.7 +107 -95 src/sys/geom/raid3/g_raid3.c 1.2 +7 -2 src/sys/geom/raid3/g_raid3.h 1.2 +29 -5 src/sys/geom/raid3/g_raid3_ctl.c