On Fri, Mar 15, 2024 at 01:07:22PM +0100, Christer Solskogen via misc wrote: > On Fri, Mar 15, 2024 at 11:43 AM Zé Loff via misc <misc@openbsd.org> wrote: > > > Your cpu*.frequency lines show you that it does. > > In that case, what does hw.cpuspeed mean? >
Jonathan Gray already told you that: > > hw.cpuspeed is only updated when a set speed is selected by the kernel. > > With turbo mode the hardware continually changes the speed without > > notifying the kernel. You have cpu0: Enhanced SpeedStep 2693 MHz: speeds: 1701, 1700, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800 MHz on your dmesg, so you have a CPU that is meant to run at (up to) 1700MHz, but can go to 2700MHz in turbo mode. The 1701Mhz speed ("normal max" + 1) is the speed that the kernel needs to set to get it into turbo mode. So, when hw.cpuspeed=1701 it means your CPU is running in turbo mode. If you or the kernel wants to throttle it down to save power, hw.cpuspeed will change to something lower. As Jonathan said, when in turbo mode, the CPU it won't tell the kernel about speed changes, but you can always get them from the hw.sensors.cpu*.frequency readings. Which, incidentally, might not even be the same for each CPU core, as they are throttled differently: $ sysctl hw.sensors | grep frequency0 hw.sensors.cpu0.frequency0=2450000000.00 Hz hw.sensors.cpu1.frequency0=2700000000.00 Hz hw.sensors.cpu2.frequency0=2850000000.00 Hz hw.sensors.cpu3.frequency0=2350000000.00 Hz Hope this clears things up. Cheers Zé P.S.: I'm by no means whatsoever an authority on this matter. I'm replying because you asked me directly. --