> At work, we run powerd on all our video streaming servers to save power by
> ramping the cpu frequency up in times of high demand, and then back down
> for low demand times.... it saves a lot of power.

Yes, I'm aware (see our discussion with Andrew).  Unless I'm mistaken, you're 
not using vanilla powerd(8) though.  It's a very interesting use case, and 
something we would like to do in base FreeBSD coupled with CPPC.

> But to interpret our performance data, we have to record the settings since 
> 90% cpu at 800MHz is
> way different than 90% at 3GHz... whatever we do here has to be observeable.

This is where problems may come with CPPC, despite its parameters being 
observable.  I remember reading somewhere (ACPI spec probably; don't have time 
to check right now) that the performance levels are to be *roughly* linear 
(they may have meant affine instead).  As long as AMD continues to use only 
frequency levels to implement some CPPC performance level, affine regression 
could be perfect (but even that should be tested).  If/when that changes, you 
will find yourself having to calibrate some model of CPPC levels to be able to 
compare 90% CPU at perf' level 127 and let's say 85% CPU at perf' level 128, 
and may never be able to do so with sufficient precision (depending on the 
exact hardware mechanisms used to implement the levels).

Regards.

-- 
Olivier Certner

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to