Hi.

On 08.04.2011 14:12, Daniel Geržo wrote:
I have a new machine with Xeon(R) CPU X5650 2666.77-MHz and I would like
to utilize powerd(8) on it however, when I run `powerd -v -r90' I see
something like this:

load 64%, current freq 2668 MHz ( 0), wanted freq 5336 MHz
load 120%, current freq 2668 MHz ( 0), wanted freq 5336 MHz
load 173%, current freq 2668 MHz ( 0), wanted freq 5336 MHz
load 62%, current freq 2668 MHz ( 0), wanted freq 5336 MHz
load 82%, current freq 2668 MHz ( 0), wanted freq 5336 MHz
load 110%, current freq 2668 MHz ( 0), wanted freq 5336 MHz

even though the machine is according to top(1) ~90% idle; So I realized,
that powerd might take the load as the sum of loads of all the cores
(12), so I tried to tweak powerd arguments like this:

`powerd -v -r 1000 -i 600'

but that errors for me with:

root@[s1-a ~]# powerd -v -r 1000 -i 600
powerd: 1000 is not a valid percent

Well, that makes sense, but why powerd itself knows about load > 100%
but doesn't allow me to specify it? Is this bug? I suppose not if it
works for other people...

It is reasonable limitation. powerd can't know how load distributed among multiple cores in time. If all cores are equally busy at lets say 10% (that gives 120% total) and cores are never waiting for each other then obviously frequency could be reduced. But if the same 120% mean 100%+20%, or if load is equally spread, but processes on different cores are waiting for each other, then reducing frequency will reduce performance. powerd can't know that and so stays on a safe side.

Other question would be why powerd wants to set freq 5336, when it is
not available at all (would be nice to have it heh.):

You may see there it is a "wanted" frequency, not real one. :) It is internal implementation details. In such way powerd implements keeping a full frequency for some time after the load dropped. It's not a bug.

On multi-core systems like this power management can better be done on per-core bases. Powerd can't control frequencies on per-core basis (also because it require non-trivial interoperation with scheduler). But if your ACPI BIOS allows, you can try to put unused cores into deeper C-states, that may give better power saving and TurboBoost on busy cores as a bonus. It works better on 9-CURRENT, but on 8-STABLE some bonuses still could be achieved.

You may want to look here:
http://wiki.freebsd.org/TuningPowerConsumption

--
Alexander Motin
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to