Mark.Haywood wrote:
 
>> Cstate data including Cx power consumption, latency, which are
>> interesting to the developer. And some systems have two C3, not
>> duplicate, the two are valid, these info are useful.
>> 
>> C-state is more complicated than P-state. It depends on HPET and
>> only support on NHM now, and may not need HPET in future, or support
>> pre-NHM platform by another time source, I'd like to separate the
>> cstate data and c-state support. 
>> 
>> Is there a reason why we can't do that?
>> 
> 
> I just think it would have been better to have had this stuff disabled
> by default and then provide a boolean to enable it if the user wanted
> it. Otherwise, I think we are providing data that is basically useless
> to most users. *And* if the BIOS developers ever got smart and
> made some
> real decisions based on whether or not the OSPM supported certain
> features, we'd be lying to them.
> 
> 
>>> Also, not sure how this makes the cstate cache function any more
>>> robust. 
>>> 
>> 
>> Currently, if caching cstate data only works when
>> cpu_deep_cstates_supported() returns true, we'll lost the chance to
>> test it on the 
> different kinds of machine. For
>> example, we can not find the panic issue reported several days ago
>> on Toshiba M9/M10. Does this make sense? :p
>> 
> 
> Again, I'd prefer we had the option disabled by default if we don't
> really support C-states for the system.

I still prefer we keep the current way. At least Jason will support my opinion.
Because if we disable this by default, his box will not support P-state
forever, ;)


>>> 
>> 
>> As long as the OSPM has the ability/function to support all of what
>> _PDC bits indicate, why we can't just enable all the bits?
>> 
> 
> I don't think the _PDC was intended to be used that way, "Yeah, we
> have the ability, but hehe we're not really supporting it for this
> processor. Got you!!!" But then again, I think the mechanism is
> totally 
> broken. It
> hardly matters whether the OSPM supports the stuff it says it
> supports. Just tell the BIOS you can do it all.
> 
> 
> 
> Let's just replace the _PDC with a boolean that tells the BIOS whether
> or not is should load the CPU PM related tables or not. Unfortunately,
> we can't really do that since some BIOS developers return different
> tables depending on whether the OSPM can support MP. This was probably
> the only useful functionality provided by the _PDC.
> 
> I've made a bigger deal out of this than it deserves. But the _PDC has
> caused more trouble than anything else. I sympathize for anyone who is
> running an older OS that does not support deep C-states,
> because they no
> longer have SpeedStep support on a system like the one
> mentioned in this
> thread.
> 

I agree the _PDC mechanism is totally broken. On Jason's box, SSDT table
needs both P-state and C-state _PDC setting to be loaded. There is no better
way to deal with this case except enabling all the bits or give the P-state 
support up.
I guess his box is at least tested by Windows to make sure P-state works 
properly.
BIOS guys only care about Windows, they don't care any other OSes. Maybe Jason
can have a try some linux liveCD like Ubuntu to see if P-state works. I just 
want to
make solaris pm competitive to the other OSes. I will not persist my opinion if 
there
is a better reason to disable C-state PDC bits by default.

Thanks,
-Aubrey

Reply via email to