trulyspinach / SMCAMDProcessor

Power management, monitoring and VirtualSMC plugin for AMD processors
BSD 3-Clause "New" or "Revised" License
1.04k stars 90 forks source link

Zen 3 #114

Closed ProximalPod closed 3 years ago

ProximalPod commented 3 years ago

I'm doing some checkups on benchmark results with and without the kexts. I seem to be getting higher scores without them. Would you expect the default settings when kexts are loaded to do something like that? I have PBO enabled from bios.

Also, the new processor's family is 0x19. I checked the code and family only seems to be used for the supported boolean. Aside from this performance quirk i can confirm the kexts load and work just fine in family 0x19 if you want to update it.

https://www.reddit.com/r/hackintosh/comments/jvybh5/fully_working_ryzen_9_5950x_vanilla/

fer662 commented 3 years ago

(same person here, posted on wrong account hehe)

Cinebench 23 single core is about 5% lower. Not gonna kill anyone but would be nice to understand Cinebench 23 multi core is the same, within margin of error.

trulyspinach commented 3 years ago

Thanks for the feedback. I do not have the new 0x19 processor yet :( so can not have it tested myself. So it is working on your system without problem apart from the CPU family check? I will also double check with AMD's documentation later if they have published one.

Lower score with single threaded benchmark should be expected in this situation since what the kext does is to switch idle core to a lower power state. When Cinebench running single core it does not actually constantly occupy a single physical CPU core, instead the core just run in a single thread, and XNU got to schedule that thread to different physical cores every time. Even though the kext gives XNU hints on which core to schedule, sometime it still pick the idle core to continue the thread. It take times(very little) for the kext to realized that a core is loaded and switch it to higher power state. When running multi-core benchmark all cores are loaded so no power state changes will happen. For me I would just open the GUI app and set to the max power state before running single core benchmark.

fer662 commented 3 years ago

Ok that's what I had hypothesized as well. Yes, everything is working as you can see on my reddit success post. OpenCore needed to be updated because the family change made it miss some switch cases where it configured clock related stuff but it was trivial. I'm going to try the app setting and report back. unappealing to be beaten but what appears to be a fricking mobile chip]: unappealing to be beaten but what appears to be a fricking mobile chip

trulyspinach commented 3 years ago

The latest release now accepts 0x19 family number so it should load without problem now.

Please feel free to open up a new issue if any problem occur.