After some testing, I found that the cause of this issue lies within pm-
utils' hook "94cpufreq" (see below excerpts from pm-suspend.log).
Until kernel 3.5.0-48 ("3.5.0-48-lowlatency #49-Ubuntu SMP PREEMPT Tue Mar 18
22:34:24 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux"), everything was running fine
:
..../....
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.
..../....
But, with kernel 3.5.0-49 ("3.5.0-49-lowlatency #50-Ubuntu SMP PREEMPT Tue Apr
8 04:37:23 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux"), things started to get
less happy :
..../....
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq resume suspend:
cat: write error: Invalid argument
cat: write error: Invalid argument
/usr/lib/pm-utils/sleep.d/94cpufreq resume suspend: success.
..../....
And issue still happens with last kernel update (for my distro) :
3.5.0-51-lowlatency.
I've put some "set -x" here and there inside "94cpufreq" and it appears that
it's actually the restoration of pre-suspend values for "scaling_governor"
pseudo-files, that fails with the above "cat" error message.
To be specific, it's the call of "cat" command inside the generic
"restorestate" pm-function, and redirected to "scaling_governor" pseudo-file,
that fails.
For some unknown reason, just before going into suspend, hook
"94cpufreq" modifies "scaling_governor" values from "ondemand" to
"performance" and this modification succeeds. But when resuming, as
restoration of "ondemand" values fails, CPUs stay with the "performance"
setting (hence max frequency) from this point on, for all subsequent
suspend/resume cycles.
Pseudo-files "scaling_governor" backups do exist
(/var/run/pm-utils/pm-suspend/storage/state:cpuX_governor) and contains the
values that were active before suspend.
Destination pseudo-files are visible too when the "cat" operation is triggered
(/sys/devices/system/cpu/cpuX/cpufreq/scaling_governor).
I've tried to look at it from all angles I can think of, but I don't see
why an operation as simple as a "cat" inside a file would fail ....
except if kernel has modified in some way, the access policy for these
pseudo-files (hence my adding the "kernel-bug" tag).
Any ideas anyone ?
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1319618
Title:
pm-utils hook unable to restore previous CPU state when resuming from
suspend
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-lowlatency/+bug/1319618/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs