From owner-cvs-sys Sun Mar 19 08:13:28 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id IAA11864 for cvs-sys-outgoing; Sun, 19 Mar 1995 08:13:28 -0800 Received: from Root.COM (implode.Root.COM [198.145.90.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id IAA11852; Sun, 19 Mar 1995 08:13:22 -0800 Received: from corbin.Root.COM (corbin.Root.COM [198.145.90.18]) by Root.COM (8.6.8/8.6.5) with ESMTP id IAA23697; Sun, 19 Mar 1995 08:13:18 -0800 Received: from localhost (localhost [127.0.0.1]) by corbin.Root.COM (8.6.11/8.6.5) with SMTP id IAA02102; Sun, 19 Mar 1995 08:13:18 -0800 Message-Id: <199503191613.IAA02102@corbin.Root.COM> X-Authentication-Warning: corbin.Root.COM: Host localhost didn't use HELO protocol To: nate@sneezy.sri.com (Nate Williams) cc: CVS-commiters@freefall.cdrom.com, cvs-sys@freefall.cdrom.com Subject: Re: cvs commit: src/sys/ufs/ffs ffs_vfsops.c In-reply-to: Your message of "Sat, 18 Mar 95 12:02:45 MST." <199503181902.MAA16612@trout.sri.MT.net> From: David Greenman Reply-To: davidg@Root.COM Date: Sun, 19 Mar 1995 08:13:17 -0800 Sender: cvs-sys-owner@freebsd.org Precedence: bulk > >David Greenman writes: >> >> Modified: sys/ufs/ffs ffs_vfsops.c >> >> Log: >> >> Don't sync the inode date changes of character special devices >> >> during the FS sync. The system would appear to hang momentarily >> >> if there was a large backlog of I/O. >> > >> >Is this what you hope is causing the 'pauses' in the system? >> >> Hope? After hours of debugging, I *know* that it is a cause. I don't >> guarantee that it is the only cause, however. > >I meant, do you hope it's the only cause. Sorry if I wasn't explicit >enough. Sorry, I was in a bad mood yesterday morning. Yes, I have every reason to believe that this is the one and only cause of the multi-second hangs that people noticed under certain circumstances. I was easily able to reproduce the problem by carefully choosing what was being written to a file. disksort() was cooperating in the problem by defering the write of the character device inode by as much as 8 seconds in the contrived tests I was doing. The change I made to disksort() to sort by block number is really only appropriate for modern drives. RP06's, for instance, would suffer from this change (hey, don't laugh, I have an RP06 in the garage...right next to an RM05.). I think it's stupid to optimize for a disk that requires four people to lift up, a large truck to move, and costs more for a month's power than it would to just replace it with something new. Related to this change, I think we're going to rip out the b_resid -> b_cylinder kludge (along with all of the cylinder calulations) as it isn't necessary any longer. -DG