[CFT] Sparse Cstate Support -- Its possible, that I don't know
what I'm doing.
Sean Bruno
seanbru at yahoo-inc.com
Tue Jun 19 21:43:00 UTC 2012
On Tue, 2012-06-19 at 14:07 -0700, Andriy Gapon wrote:
> on 19/06/2012 19:02 Sean Bruno said the following:
> > The first impact of this behavior is to list C3 as C2 in the list of
> > Cstates when you retrieve the cx_supported sysctls for the cpus.
>
> I do not think that this is a real problem. A cosmetic one - most likely.
>
Yes, most likely. Except that the code seems to think that the index of
the Cstates is good enough for a comparison to value. More over, the
sysctl's accept a value like "C3" and manipulate that into an index into
the Cstate array without checking for the Cstate value.
The impact of this patch corrects this cosmetic display issue.
> > The
> > second impact is that the power_profile script never drops to a valid
> > Cstate when you set the economy_lowest variable in rc.conf.
>
> Could you please explain if this somehow follows from your first observation and
> how?
> If not, could you please share your finding on what exactly causes this to happen?
>
> Also, are we talking about a laptop here? Namely, judging from the reference to
> 'economy_lowest', are AC state changes in play?
>
No, what I was attempting to do was configure a server such that it
would attempt to use the C3 state at idle. Since the server gets
configured by the power_state scripts via devd, the server is never
configured with its global cx_lowest as anything other than C1. e.g:
-bash-4.2$ sysctl -a|grep cx_lowest
hw.acpi.cpu.cx_lowest: C1
dev.cpu.0.cx_lowest: C1
dev.cpu.1.cx_lowest: C1
-bash-4.2$ sysctl -a|grep cx_supported
dev.cpu.0.cx_supported: C1/1 C2/96
dev.cpu.1.cx_supported: C1/1 C2/96
It seems that the rc.conf value of performance_cx_lowest="LOW" is what I
really want, not economy_cx_lowest.
Sean
More information about the freebsd-acpi
mailing list