From owner-freebsd-hackers Tue Feb 3 18:30:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA22976 for hackers-outgoing; Tue, 3 Feb 1998 18:30:51 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA22956 for ; Tue, 3 Feb 1998 18:30:44 -0800 (PST) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id SAA29829 for ; Tue, 3 Feb 1998 18:25:20 -0800 (PST) Received: from UNKNOWN(), claiming to be "current1.whistle.com" via SMTP by alpo.whistle.com, id smtpd029827; Tue Feb 3 18:25:13 1998 Message-ID: <34D7D0B0.500F9F30@whistle.com> Date: Tue, 03 Feb 1998 18:21:37 -0800 From: Julian Elischer Organization: Whistle Communications X-Mailer: Mozilla 3.0Gold (X11; I; FreeBSD 2.2.5-RELEASE i386) MIME-Version: 1.0 To: hackers@FreeBSD.ORG Subject: kirk's soft-update integration.. Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG X-To-Unsubscribe: mail to majordomo@FreeBSD.org "unsubscribe hackers" Kirk's soft update code has a poison pill license for commercial use, (he gives the license on a case by case basis) but it greatly speeds up FS access, and is freely usable for private use. The patches, when added to FreeBSD actually do yield a slight improvement even when used with the dummy stub module that can be used to make the system still work for commercial uses. The slight improvement is due to his replacement syncer. While the copyrighted file cannot be used in every situation, the system as modified to use it seems to not have any bad side effects, and as the file itself can be distributed freely with a source available OS, there would be no problem with even distributing the files to allow private users to make use of this. The effect is to make the speed of a filesystem approach that of an async FS while maintaining the safety of a sync FS. (It may even be faster than our async FS). What I want to get from the readership here, and more importantly, CORE members, is whether the changes for this should be integrated back into FreeBSD-current, and when. I'm not SURE yet whether I CAN put the changes back (OpenBSD did) but I'd like some sort of a reading of the acceptance of it.. An indication of how useful this is is: multiple compiles, copies, rms etc. With soft updates: writes: 6 sync, 1,113,686 async; run time 19hr, 50min Normal filesystem: writes: 1,459,147 sync, 487,031 async; run time 27hr, 15min The upshot is 42% less I/O and 28% shorter running time. ---------------------------- the license is: /* * Copyright 1997 Marshall Kirk McKusick. All Rights Reserved. * * The soft updates code is derived from the appendix of a University * of Michigan technical report (Gregory R. Ganger and Yale N. Patt, * "Soft Updates: A Solution to the Metadata Update Problem in File * Systems", CSE-TR-254-95, August 1995). * * The following are the copyrights and redistribution conditions that * apply to this copy of the soft update software. For a license * to use, redistribute or sell the soft update software under * conditions other than those described here, please contact the * author at one of the following addresses: * * Marshall Kirk McKusick mckusick@mckusick.com * 1614 Oxford Street +1-510-843-9542 * Berkeley, CA 94709-1608 * USA * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. None of the names of McKusick, Ganger, Patt, or the University of * Michigan may be used to endorse or promote products derived from * this software without specific prior written permission. * 4. Redistributions in any form must be accompanied by information on * how to obtain complete source code for any accompanying software * that uses the this software. This source code must either be included * in the distribution or be available for no more than the cost of * distribution plus a nominal fee, and must be freely redistributable * under reasonable conditions. For an executable file, complete * source code means the source code for all modules it contains. * It does not mean source code for modules or files that typically * accompany the operating system on which the executable file runs, * e.g., standard library modules or system header files. * * THIS SOFTWARE IS PROVIDED BY MARSHALL KIRK MCKUSICK ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL MARSHALL KIRK MCKUSICK BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)ffs_softdep.c 9.12 (McKusick) 12/2/97 */