lkml.org 
[lkml]   [2006]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Flames over -- Re: Which is simpler?
    On Sun, 12 Feb 2006, Phillip Susi wrote:

    > Alan Stern wrote:
    > > Both of you are missing an important difference between Suspend-to-RAM and
    > > Suspend-to-Disk.
    > >
    > > Suspend-to-RAM is a true suspend operation, in that the hardware's state
    > > is maintained _in the hardware_. External buses like USB will retain
    > > suspend power, for instance (assuming the motherboard supports it; some
    > > don't).
    > >
    > > Suspend-to-Disk, by contrast, is _not_ a true suspend. It can more
    > > accurately be described as checkpoint-and-turn-off. Hardware state is not
    > > maintained. (Some systems may support a special ACPI state that does
    > > maintain suspend power to external buses during shutdown, I forget what
    > > it's called. And I down't know whether swsusp uses this state.)
    > >
    >
    > I would disagree. The only difference between the two is WHERE the
    > state is maintained - ram vs. disk. I won't really argue it though,
    > because it's just semantics -- call it whatever you want.

    It's not just semantics. There's a real difference between maintaining
    state in the hardware and maintaining it somewhere else. The biggest
    difference is that if the hardware retains suspend power, it is able to
    detect disconnections. When the system resumes, it _knows_ whether a
    device was attached the entire time, as opposed to being unplugged and
    replugged (or possibly a different device plugged in!) while the system
    was asleep. If the hardware is down completely, there is no way of
    telling for certain whether a device attached to some port is the same one
    that was there when the system got suspended.

    Another difference is the possibility of remote wakeup. Clearly it can't
    happen when there's no power available.

    > > So for example, let's say you have a filesystem mounted on a USB flash or
    > > disk drive. With Suspend-to-RAM, there's a very good chance that the
    > > connection and filesystem will still be intact when you resume. With
    > > Suspend-to-Disk, the USB connection will terminate when the computer shuts
    > > down. When you resume, the device will be gone and your filesystem will
    > > be screwed.
    > >
    >
    > This is not true. The USB bus is shut down either way, and provided
    > that you have not unplugged the disk, nothing will be screwed when you
    > resume from disk or ram.

    Have you actually tried it? I have.

    In any case, it is undeniably true that if the bus is shut down then all
    the USB connections are lost. When you resume it will be the same as if
    you had unplugged all the USB devices and then replugged them. Not a good
    thing to do when they contain mounted filesystems; all the memory mappings
    are invalidated.

    (Bear in mind that whether a USB bus gets shut down depends on the
    motherboard; some supply suspend power and some don't. It depends on the
    USB controller too; some support low-power states other than "completely
    off" and others don't.)

    Alan Stern

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-02-13 03:21    [W:3.750 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site