|Summary:||Issues after resume when TSC timecounter selected, possibly due to CPU TSC resetting to zero|
|Product:||Base System||Reporter:||Gavin Atkinson <gavin>|
|Component:||kern||Assignee:||freebsd-bugs (Nobody) <bugs>|
|Severity:||Affects Only Me|
Description Gavin Atkinson 2015-06-10 01:09:43 UTC
Created attachment 157592 [details] Verbose dmesg I have a Lenovo Flex 10 laptop. With kern.timecounter.hardware=TSC (the default), on resume there are serious issues: primarily that time appears to run very fast, the AHCI controller/drive fail to reinit correctly, etc. Unfortunately the video doesn't recover either (unrelated to this issue), so it's a bit hard to establish exactly what state the machine is in at this time. After some digging, it looks like the CPU TSC counter is reset to zero on resume: root@flex10:~ # cpucontrol -m 0x10 /dev/cpuctl0 ; cpucontrol -m 0x10 /dev/cpuctl1 MSR 0x10: 0x0000019a 0x3d2660a7 MSR 0x10: 0x0000019a 0x5f4b9d7a root@flex10:~ # zzz [wake machine up] root@flex10:~ # cpucontrol -m 0x10 /dev/cpuctl0 ; cpucontrol -m 0x10 /dev/cpuctl1 MSR 0x10: 0x00000004 0x27c4514f MSR 0x10: 0x00000004 0x49dcc993 I suspect (though haven't been able to prove) that this is the cause. The CPU is an Intel N2807 ultra low power CPU. It does have invariant P state TSC.