Re: S3 resume regression [1cf4f629d9d2 ("cpu/hotplug: Move online calls to hotplugged cpu")]
From: Ville Syrjälä <hidden>
Date: 2016-10-27 20:37:57
Also in:
linux-acpi, linux-pm, lkml
On Thu, Oct 27, 2016 at 09:25:05PM +0200, Thomas Gleixner wrote:
On Thu, 27 Oct 2016, Ville Syrjälä wrote:quoted
On Thu, Oct 27, 2016 at 08:48:57PM +0200, Thomas Gleixner wrote:quoted
What that old patch did, was: 1) Make sure that the broadcast device is actually armed at resume. That might cause the HPET to resume proper. 2) Force a max. 3 seconds rearm when the targeted expiry time is > than 10 seconds That might make sure that lower C-States are never entered.Doh. I lost the other hunk somewhere. Let's try that again... And indeed with the other hunk in tow the machine would appear to resume properly.So it would be interesting whether that hunk in resume_broadcast() is sufficient.
So far it looks like the answer is yes. Looks to be about 5 seconds slower than acpi-idle in resuming, but I suppose that's not all that surprising ;)
quoted
quoted
What's the lowest C-State with acpi-idle and what's the lowest one with intel_idle?acpi_idle /sys/devices/system/cpu/cpu0/cpuidle/state3/desc:ACPI FFH INTEL MWAIT 0x30 /sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0 /sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100 /sys/devices/system/cpu/cpu0/cpuidle/state3/name:C3 /sys/devices/system/cpu/cpu0/cpuidle/state3/power:0 /sys/devices/system/cpu/cpu0/cpuidle/state3/residency:200 /sys/devices/system/cpu/cpu0/cpuidle/state3/time:5677316 /sys/devices/system/cpu/cpu0/cpuidle/state3/usage:5920 intel_idle: /sys/devices/system/cpu/cpu0/cpuidle/state3/desc:MWAIT 0x30 /sys/devices/system/cpu/cpu0/cpuidle/state3/disable:0 /sys/devices/system/cpu/cpu0/cpuidle/state3/latency:100 /sys/devices/system/cpu/cpu0/cpuidle/state3/name:C4-ATM /sys/devices/system/cpu/cpu0/cpuidle/state3/power:0 /sys/devices/system/cpu/cpu0/cpuidle/state3/residency:400 /sys/devices/system/cpu/cpu0/cpuidle/state3/time:7146705 /sys/devices/system/cpu/cpu0/cpuidle/state3/usage:6826Does the machine work, when you limit intel idle to C3, which would then match acpi idle ?
I'm pretty sure I had tested all of these, but I just double checked to make sure. There's no C3 with intel_idle so I limited to C2, but that did not help. Isn't it possible that ACPI C3 is in fact C4? I thought ACPI C-states are always numbered non-sparsely, and in this case ACPI C3 could be anything from C3 to C11 (if the processor actually supported such states obviously). Actually now that I look at the descriptions for the states in sysfs, it says "MWAIT 0x30" for state3 on both drivers, which I presume means it's in fact C4 for both. -- Ville Syrjälä Intel OTC