[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] S3 resume issues

Hi Ben,

On 02/01/13 13:08, Ben Guthro wrote:
I'm starting a new thread on this, to attempt to not confuse this issue, with the other S3 issue reported by Marek Marczykowski against 4.1 If you prefer I continue that thread instead, please let me know, and I will be happy to do so.

Some background:
I am attempting to chase down yet another S3 issue in the Xen-4.2 / unstable tree, seen on some (but not all) platforms. The particular machine I am able to reproduce it 100% of the time is a Lenovo T430 (Ivy bridge laptop)

To help reproduce the issue it would be good to know what Linux kernel you were using.

Also, Does Xen-4.1 work on this particular machine? If Xen-4.1 does not work, have you confirmed that baremetal suspend resume works? (I'm just covering the base's here)

I also notice that the laptop can have NVIDIA optimus technology. Does this particular T430 have an Nvidia GPU? Is there a way to force disable the NVIDIA GPU in the BIOS, this may help with displaying resume progress via the display.
The symptoms of the failure are that it suspends just fine, but does not resume. When attempting to resume, by pressing the power button - the disk LED flashes, and the CDROM activity LED flashes, but then the system seems to put itsself back to sleep, as the power LED goes back to pulsing Note that the soft pulsing LED is distinctly different from the crash LED blink rate.
Is there any sign of the video POSTING (flickering screen etc) ?

I have tried a number of the tricks Jan suggested to me the last time we were down this path - so far to no success. The failure seems to be happening so soon in the resume process, that there is not yet a console available.

I have resorted to putting BUG() in the code directly in the resume path, in an attempt to understand what is going on - since there seems to be something in this path that I don't fully understand.

In xen/arch/x86/acpi/power.c - acpi_enter_sleep_state() seems to be the code that actually puts the processor into S3. If I put a BUG() directly before the return of this function - I never seem to reach this. It continues to pulse the power LED, as described above. I would have expected a hypervisor crash upon attempting to wake up the system.

The actual wakeup vector is wakeup_start in xen/arch/x86/boot/wakeup.S


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.