Re: hibernate event order question

From: Tobias Diedrich
Date: Sat May 17 2008 - 17:04:18 EST


Rafael J. Wysocki wrote:
> > Now for my question:
> > AFAICS the ordering of events is as follows:
> > 1) User reqests hibernate
> > 2) Tasks are frozen
> > 3) Device suspend callbacks get called
> > 4) Device resume callbacks get called
> > 5) Memory image is written to disk
>
> 6) Device suspend callbacks get called again to prepare for the system sleep
> state.

Hmm, I guess I don't see that because by then the console is disabled or
something like that?
(It also doesn't help that the system immediately powers down after that)
Can I get debugging output during that phase out onto the serial
console and/or plain text console & simply turn the poweroff into a
halt? (halt in addition to shutdown and reboot in /sys/power/disk
might be nice)

The problem is I'm really seeing/have seen multiple issues/situations here:
1) When the device is part of a bridge, connectivity is down after
Hibernate
2) Boot->Hibernate->WOL works->Hibernate->WOL only works with
byte-reversed MAC-address
3) I have to reconfirm this, but I think after fixing bug 1) with
the patch of the previous mail bug 2) turns into 4):
4) WOL doesn't work at all after Hibernate
5) nforce ethernet and netgear switch don't like each other and
sometimes negotiate only 100Mbit instead of 1Gbit, while my
notebook on a much longer cable never has negotiation problems
6) In the past sometimes negotiation would take very long, that one
I haven't seen in some time so I assume it's fixed in recent
kernels. This one only happened if both ports were enabled IIRC

"Device suspend callbacks get called again" means I have to retest 3)
Maybe I'm imagining things or seeing a heisenbug here?

1) Is fixed by the patch in the previous mail
2) I assume to be related to DEV_HAS_CORRECT_MACADDR,
NVREG_TRANSMITPOLL_MAC_ADDR_REV and some magic byteswapping code in
the driver.
1) and 2)/4) can be worked around (for the bridge case) by removing
the forcedeth module prior to hibernate and reinserting the module
and readding the devices to the bridge after resume.

--
Tobias PGP: http://9ac7e0bc.uguu.de
ããããããååååçãããããããäããããããã
--
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/