Skip to content

Intel's power limits are set via MSR+MMIO, but CoreFreq seems to only use MSR #421

@Betaminos

Description

@Betaminos

I am seeing some weird behavior on my OXP (OneNetbook's OneXPlayer), which uses a Tiger Lake 1165g7. My CPU will throttle at the same power limit, regardless of how high I set it in COreFreq. Under Windows, there is a tool called Throttlestop that exposes the MSR and MMIO power limits which can both be used to limit the CPU's power. Unfortunately, the lower of the set power limits wins which means that only relying on the MSR limits can sometimes have no effect if the device is hitting limits set via MMIO.

After some digging, I have come across this script which seem to tackle MSR and MMIO nicely: https://github.com/horshack-dpreview/setPL

The trick (similar to Throttlestop) is to set the MMIO limit to unlimited and then disable them by setting the lock-bit. This way, the MSR limits are the only remaining ones and should be active.

If somehow possible, it would be great if CoreFreq would offer a button to set the MMIO-limits to unlimited and lock them afterwards, similar to this script. Alternatively, as the perfect solution, the MMIO limits could be displayed next to the MSR limits, to make tracing down the power limits a bit easier, which would be especially helpful in cases where the EC changes the MMIO power limits on the fly. (the latter can be killed by setting them to unlimited and locking them)

Thank you very much for your consideration :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions