From owner-freebsd-stable Tue Mar 13 2:20:26 2001 Delivered-To: freebsd-stable@freebsd.org Received: from smtp.skyinet.net (SMTP.SKYINET.NET [206.101.197.180]) by hub.freebsd.org (Postfix) with ESMTP id 4867537B754 for ; Tue, 13 Mar 2001 02:20:22 -0800 (PST) (envelope-from mars@cannoncreek.com) Received: from nomad (unknown [202.78.79.4]) by smtp.skyinet.net (Postfix) with SMTP id 57A6632EA5 for ; Tue, 13 Mar 2001 18:20:20 +0800 (PHT) Message-ID: <01f801c0abaa$51616020$4500a8c0@nomad> From: "Mars G. Miro" To: References: <200103131007.f2DA73h54023@mobile.wemm.org> Subject: Re: Disk I/O problem in 4.3-BETA Date: Tue, 13 Mar 2001 18:42:27 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Geez, this thread is getting longer and all the more confusing, can some guru possibly attempt to outline the good and bad points of Softupdates or WC ? > Soren Schmidt wrote: > > It seems Alfred Perlstein wrote: > > > > > > Having write caching on is like having the disk ignore _any_ > > > filesystem's attempt to do softupdates/logging/delayed-order-writes > > > because the disk _lies_ to the OS about when a write is safely on > > > the disk. > > > > Hmm, I think the problem here is that the OS doesn't tell the > > drivers WHEN it expects to have data written to disk, I can't > > see why it should not be possible to have even softupdates > > say "now before I write this I expect everything so far to > > be on disk". > > Exactly. softupdates depends on the "block done, is on disk now!" > notification in order to queue up the next set of dependencies. There is > no B_ORDERED or anything. It just snoops the iodone calls. The disk > driver has no way of knowing if the fs has something waiting on that given > block or not. > > The alternative is to put B_ORDERED on *every* write from ffs/softdep, which > would mean a cache flush after every operation on the ata driver. > > We cant even look to see if there are dependencies or not on a given block > when it is initiated.. because while it is being sent to the drive, another > operation can appear that depends on it. It was too late to set the > ORDERED bit, so it may not get written to actual disk, and the disk will > *LIE* about the completion of the write, and softupdates will queue up the > next dependenent transfter, which might make it to disk before the first > one that the drive *LIED* about. If your power goes out or the drive gets > a hard reset in that window... boom! corrupt fs! hello backups! > > Cheers, > -Peter > -- > Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au > "All of this is for nothing if we don't go to the stars" - JMS/B5 > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-stable" in the body of the message > cheers mars To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message