begin quoting David Brown as of Wed, Aug 20, 2008 at 06:04:32PM -0700: > On Wed, Aug 20, 2008 at 06:01:29PM -0700, James G. Sack (jim) wrote: > > >I think this has been asked elsewhere, and probably more than once, but > >I wonder why drives cannot save the cache during the power-down ramp. > > For systems where reliability is more important in the cost tradeoff, > a controller with battery-backed RAM and a separate power supply for > the controller and drives can at least deal with all cases of merely > external power being removed. A properly implemented UPS is probably > the best way to get there with a conventional computer. >
....but we were talking about laptops. Which, effectively, have built-in UPSes... but if you suspend 'em, and don't get back to them in time (as I often fail to do*) or they don't resume from hibernation properly, you get a significant failure. And I'd argue that the UPS is NOT a solution. The system ought to be able to handle a catastrophic power-off with a minimal amount of pain; a 120-bounce is a *legitimate* solution to a wedged machine. And even linux machines get wedged. (The old sparKPLUG machine is locking up hard for me -- no keyboard response, not even numlock or capslock -- and yanking the power cord is the ONLY way to get it back.) A UPS won't help with that, nor is it possible to write an OS that can handle /all/ hardware failures -- eventually, you're going to end up with a system that has gone down at the worst possible time. This isn't to say that a UPS is a bad thing. It's just that it doesn't replace the need for an OS to handle a sudden power-off somewhat gracefully. [*] OS X 10.4 doesn't do a bad job of suspending the system as the battery goes to nothing while it is suspended -- I can recover my session 3 out of 5 times this happens, or so. But even it can't handle yanking the battery out of a running machine. -- I actually never had a problem with ext2. Of course, I have a cron'd sync. Stewart Stremler -- KPLUG-List@kernel-panic.org http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list