The PSU problem sounds like a weak excuse from AMD or may they are talking about very very bad 10 dollars units.
The BIOS options "typical/low current" doesn't seems to change the c-states set up by the kernel routines here. With any selection, I always end up with
c0 POLL
c1 ACPI HLT
c2 ACPI IOPORT 0x414
as you can see with cpufreq cpupower idle-info or /usr/src/linux/tools/power/x86/turbostat/turbostat -n1
That happens because the firmware already informed the kernel mwait/monitor cannot be used for c-states.
If idle=halt is used, there is no c-state management and the idl instruction is used to put a core in idle mode.
I think it is the hyper treading handling that is somehow bugged, somewhere.
Also note that many ryzen users overclock their machine and if you overclock, you have to c-state problems at all.
The PSU problem sounds like a weak excuse from AMD or may they are talking about very very bad 10 dollars units.
The BIOS options "typical/low current" doesn't seems to change the c-states set up by the kernel routines here. With any selection, I always end up with
c0 POLL
c1 ACPI HLT
c2 ACPI IOPORT 0x414
as you can see with cpufreq cpupower idle-info or /usr/src/ linux/tools/ power/x86/ turbostat/ turbostat -n1
That happens because the firmware already informed the kernel mwait/monitor cannot be used for c-states.
If idle=halt is used, there is no c-state management and the idl instruction is used to put a core in idle mode.
I think it is the hyper treading handling that is somehow bugged, somewhere.
Also note that many ryzen users overclock their machine and if you overclock, you have to c-state problems at all.