Paul de Weerd <we...@weirdnet.nl> wrote:

> A recent commit by Theo changed the hw.perfpolicy behavior to always
> run at full speed when AC power is on.  This means that my workstation
> (and servers, once I upgrade them) now consumes significantly more
> power, even though they usually idle.

Did you measure how much more power?

You must measure, to make such a claim.

Your OptiPlex 9020 is probably a modern i5/i7, which probably contains
C states similar to this:

acpicpu0 at acpi0: C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS

Which means when the idle loop calls the "mwait" instruction, the cpu
will 'instantly' slow down to a lower clock and make other power use
reductions, until an interrupt happens and requires labour again.

Most modern cpus dynamically downscale in such way, which mostly
obliterates the requirement to manually control things, or even handle
it in a slow-paced data-weak way in the scheduler.

So you must back your claim up with power measurements.

> [weerd@pom] $ sysctl hw.{vendor,product,perfpolicy,setperf,cpuspeed}
> hw.vendor=Dell Inc.
> hw.product=OptiPlex 9020
> hw.perfpolicy=auto
> hw.setperf=100
> hw.cpuspeed=3401
>
> If I'd want to use the old behavior on "non laptop" systems, what
> would be the best approach to try to achieve that?  I mean, I can
> revert the commit, but then I'm stuck with a frankenstein system.
>
> Would another "economy" perfpolicy be better, or would it make more
> sense to try to divine the type of system and adjust accordingly?

>From false premises straight to conclusions that we (OpenBSD) must do
something.  Come on.

I purchased every one of my machines to get the maximum performance out
of them when they are doing work, and I expect everyone else is in the
same group.  Otherwise they would have saved money by buying slower
machines.  Lucky for us that modern cpus do this automatically.


Reply via email to