自己的老台式机 睡眠唤醒 后 卡顿的问题,一直以为是显卡的原因,无意间看到一帖子 分享 Skylake-X 使用 VOODOOTSCSync / TSCAdjustReset.kext 来解决
TSC 同步问题, 最后无意间发现 使用 同一原理的 TSCAdjustReset.kext 竟然解决了睡眠唤醒后卡顿的老毛病,
是否有可能进一步 改为 kernel patch 呢 ?呼唤大神。
TSCAdjustReset.kext 原帖介绍:
This kernel extension fixes the consenquences of unsyncronised TSC when booting Mac OS on an X299 board with Skylake-X CPUs. This kext is based on VoodooTSCSync. That kext writes the same TSC value to all cores, and while that works, the end result is that all cores are adjusted. And it does that multiple times. On x299 and Skylake-X, the CPU has an invariant TSC, meaning it will NOT get out of sync. The problem with x299/Sklylake-X is that something (probably the BIOS, or even the CPU itself) writes to the TSC of some of the cores, and thus the TSCs are not in sync upon cold or warm boot. The IA32_TSC_ADJUST MSR holds the value of how much each core was adjusted. Writing 0 this register rolls back any previous changes. So TSCAdjustReset.kext does exactly that. It can even be unloaded after it did its job.
这里分享 该 kext 的GitHub 链接: github.com/interferenc/TSCAdjustReset 有xcode 的可以自己编译下,
经测试 ,最新的 voodootscsync 无法进入睡眠, 唯有 这个 TSCAdjustRest 可以。
有该问题的朋友可以测试下, 看看能不能解决。
|