Re: Flames over -- Re: Which is simpler?
- From: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
- Date: Sun, 12 Feb 2006 21:19:02 -0500 (EST)
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: Flames over -- Re: Which is simpler?
- From: Pavel Machek
- Re: Flames over -- Re: Which is simpler?
- From: hackmiester / Hunter Fuller
- Re: Flames over -- Re: Which is simpler?
- From: Phillip Susi
- Re: Flames over -- Re: Which is simpler?
- References:
- Re: Flames over -- Re: Which is simpler?
- From: Phillip Susi
- Re: Flames over -- Re: Which is simpler?
- Prev by Date: Re: [PATCH 2.6.15.3] alpha/pci: set cache line size for cards ignored by SRM
- Next by Date: Re: Flames over -- Re: Which is simpler?
- Previous by thread: Re: Flames over -- Re: Which is simpler?
- Next by thread: Re: Flames over -- Re: Which is simpler?
- Index(es):
Relevant Pages
|