[lkml]   [2006]   [Feb]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Flames over -- Re: Which is simpler?
Alan Stern wrote:
> 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.

During suspend the hardware is usually completely powered off, and in
either case, there is nothing running on the CPU to monitor device
insertion/removal. When the system is resumed the kernel decides if the
hardware has changed the same way for either system: it probes the
hardware to see if it is still there. There isn't anything special that
monitors device insertion/removal while suspended to ram.

>> 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.

If it doesn't work then you have found a bug and should file a report.
The state of the kernel after resuming from either suspend to disk, or
suspend to ram is the same. The filesystem is still mounted, and any
dirty pages in ram will be flushed just like normal. Whether the disk
is connected via SCSI, SATA, USB, or whatever does not matter.

> 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.

The kernel knows that the same device is still there on the bus, and so
it picks up right where it left off. If it thinks the device has been
unplugged and reconnected, that is a bug.

> (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
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2006-02-13 04:55    [W:0.089 / U:15.180 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site