dangerous situation with shutdown process

Don Lewis truckman at FreeBSD.org
Wed Jul 20 03:14:35 GMT 2005


On 14 Jul, Matthias Buelow wrote:
> Kevin Oberman wrote:
> 
>>> How can I fix it on my system?
>>
>>SCSI or ATA? If it's ATA, turn off write cache with (atacontrol(8) or
>>the sysctl.
> 
> You do NOT want to do that. Not only will performance drop brutally
> (example: drop to 1/5th of normal write speed for sequential writes,
> probably worse for random writes) but it will also significantly
> reduce the lifetime of your disk. Modern disks are designed to be
> used with the write-back cache enabled, so don't turn it off.

There's not much performance difference with SCSI if write caching is
disabled.  Typical SCSI drives can handle ~63 outstanding read and write
transactions and can sort them into a somewhat optimal order if tagged
command queuing is in use.

>>The problem is that disks lie about whether they have actually written
>>data. If the power goes off before the data is in cache, it's lost.
> 
> No, the problem is that FreeBSD doesn't implement request barriers
> and that softupdates is flawed by design and seemingly could not
> make use of them, even if they were available (because, as I
> understand it, it relies on a total ordering of all writes, unlike
> the partial ordering necessary for a journalled fs).

Softupdates only needs to be partial ordering.  It just needs to be
notified when the data hits the platter so that it can send any
dependent writes to the disk.

Wouldn't the use of barriers have the potential to force a lot of
unrelated cached write data to be written much earlier than necessary?
If so, there would seem to be a performance penalty under certain
workloads, though performance would still be better than with
write-caching disabled.



More information about the freebsd-questions mailing list