@jim_charlton:

The original bug report is referencing suspend-to-RAM (S3), not
hibernate. Issues with hibernate need to be the topic of a separate bug
report.

The hang during resume from S3 happen during a callback to the BIOS via
SMI during execution of the ACPI _WAK control method. The SMI handler
appears to be waiting for an interrupt from the HPET timer. When the
kernel is in tickless mode or is using highres timers the HPET doesn't
have an event pending when the _WAK method executes, and the SMI handler
doesn't return control back to the kernel until the HPET counter wraps
around back to the value previously programmed into the match register,
which takes 5 minutes.

With nohz/highres disabled, the HPET is in periodic mode during resume
from S3 and thus is generating interrupts on a periodic basis, which
makes the delay in the SMI handler minimal. Another interesting data
point is that if you boot with nohpet on the command line, the machine
never finishes resume from S3.

This is pretty clearly an issue being caused by the BIOS since it's
happening in an SMI handler. The nohz=off highres=off will increase
power consumption to some degree by not letting the CPU idle as much and
not allowing it to hit deeper C-states, but as David notes the effect
isn't that significant and imho is better than the alternative.
Coincidentally keeping the CPU out of deeper C-states fixes the
performance problems on these machines, as these occur anytime the CPU
is allowed to idle deeper than C1 (you can demonstrate this by passing
intel_idle.max_cstate=1, but again this issue isn't really the topic of
this bug).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/508516

Title:
  wakeup from sleep fails on toshiba nb305

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to