Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Aug 2005 15:33:01 -0400
From:      Chuck Swiger <cswiger@mac.com>
To:        Matthias Buelow <mkb@incubus.de>
Cc:        Don Lewis <truckman@freebsd.org>, freebsd-stable@freebsd.org
Subject:   Re: Sysinstall automatic filesystem size generation.
Message-ID:  <431362ED.9030800@mac.com>
In-Reply-To: <20050829185933.GB1462@drjekyll.mkbuelow.net>
References:  <20050829120415.GA1462@drjekyll.mkbuelow.net> <200508291836.j7TIaVEk013147@gw.catspoiler.org> <20050829185933.GB1462@drjekyll.mkbuelow.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Matthias Buelow wrote:
> Don Lewis wrote:
[ ... ]
>> Did you remember to disable write caching by setting the WCE mode page
>> bit to zero?  At least with SCSI, it doesn't seem to affect performance
>> under most workloads.
> 
> No.. I thought that with SCSI it is "ok" to leave the cache enabled
> because SCSI supports some sort of request queueing which doesn't
> break the order established by softupdates?

That gives you the ability to sequence events, yes, but it doesn't mean that 
data which has been cached by the drive and not yet written out is fine if the 
power goes away.  Good SCSI/RAID controllers have a small battery backup inside 
the computer case to address exactly this:

aac0: <Dell PERC 3/Di> mem 0xf0000000-0xf7ffffff irq 31 at device 2.1 on pci2
aac0: i960RX 100MHz, 118MB cache memory, optional battery present
aac0: Kernel 2.5-0, Build 2991, S/N xxxxx

That cache will get flushed to disk even if the OS goes bonkers or disappears 
entirely due to no power.

Maybe something like this would make you happier:

# cat >> /etc/sysctl.conf
kern.filedelay=7
kern.dirdelay=6
kern.metadelay=5

...?

>> Softupdates only tries to guarantee that the on-disk file system is in a
>> consistent state at all times, with the possible exception that not all
>> space may be accounted for.
> 
> It doesn't try very hard, though, nor is it very successful.

Look, there is a tradeoff between price/performance/quality (or reliability) in 
most circumstances.  If you want more reliability, pay more to get good 
hardware, or accept that there will be performance loss if/when you choose to 
maximize reliability.

It's also true that FreeBSD could do a better job or otherwise be improved.
You don't have to argue that point, we're already convinced.

Submitting improvements is useful.  Would changing the sysctls above to shorter 
defaults be a good idea?

-- 
-Chuck

PS: Haven't we had this conversation before?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?431362ED.9030800>