NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/59932: Setting CPU frequencies on Zen 3 systems is problematic



	Note: There was a bad value `' for the field `Class'.
	It was set to the default value of `sw-bug'.

>Number:         59932
>Category:       kern
>Synopsis:       Setting CPU frequencies on Zen 3 systems is problematic
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 20 01:00:00 +0000 2026
>Originator:     John Klos
>Release:        NetBSD 11.0_BETA
>Organization:
	
>Environment:
	
	
System: NetBSD bunny.zia.io 11.0_BETA NetBSD 11.0_BETA (BUNNY) #0: Wed Oct 15 11:51:33 UTC 2025 john%bunny.zia.io@localhost:/usr/obj-amd64/sys/arch/amd64/compile/BUNNY amd64
Architecture: x86_64
Machine: amd64
>Description:
	
On multiple Zen 3 systems (Ryzen 5500, 5700X):

sysctl -a | grep freq
machdep.dmi.processor-frequency = 3400 MHz
machdep.tsc_freq = 3393633000
machdep.cpu.frequency.target = 3400
machdep.cpu.frequency.current = 3400
machdep.cpu.frequency.available = 3400 2800 2200

Changing the frequency works. However, after setting frequency.target to 3401 (which is 3400, with turbo clocking enabled, IIRC), all future attempts to set the clock fail:

sysctl -w machdep.cpu.frequency.target=3400
sysctl: machdep.cpu.frequency.target: Device not configured
sysctl -w machdep.cpu.frequency.target=2200
sysctl: machdep.cpu.frequency.target: Device not configured

On each attempt to change CPU frequency, the kernel prints:

[ 2823136.558871] acpicpu0: autoconfiguration error: failed to get frequency (err 22)
[ 2823141.718910] acpicpu1: autoconfiguration error: failed to get frequency (err 22)

After a while, "target" goes away:

sysctl -a | grep freq
machdep.dmi.processor-frequency = 3400 MHz
machdep.tsc_freq = 3393633000
machdep.cpu.frequency.available = 3400 2800 2200

This doesn't happen on a Bulldozer, nor on a Ryzen 7900, nor on a Ryzen 9700X.
This happens with NetBSD 10 and NetBSD 11/amd64.

>How-To-Repeat:
	
sysctl -w machdep.cpu.frequency.target=2200
sysctl -w machdep.cpu.frequency.target=3400
(works)

sysctl -w machdep.cpu.frequency.target=3401
(also works)
sysctl -w machdep.cpu.frequency.target=3400
(doesn't work, nor does any future attempts to change the target)
>Fix:
	

>Unformatted:
 	
 	


Home | Main Index | Thread Index | Old Index