Liu, Jiang wrote:

> Li, Aubrey <> wrote:
>> Bill.Holler wrote:
>> 
>>> 
>>> 
>>> Here are two other cases to consider:
>>> 1. offline processors.
>>> 2. Solaris disables the local APIC's timer when there are no
>>> cyclics on this processor. 
>>> 
>>> Since neither of these cases use the local APIC's timer, they do not
>>> require lAPIC timer re-programming in idle wakeup?
>> 
>> For offline processors, I think it should be okay.
>> But how about a cyclic xcall is added when this processor is deep
>> sleeping? 
>> 
>>> 
>>> 
>>> Solaris should use the deepest c-state available for offline
>>> processors.  :-) 
>>> 
>> The question is how to make another core to enter deepest c-state?
>> cpu_offline call shoudn't be bound to  the CPU which is going to be
>> put into deep c-state.
> 
> The processor in offline/sparse/faulted states will run idle
> thread with interrupt enabled or disabled.
> But you can't rely on normal idleness prediction algorithm to
> put offline cpu into deep C state because there may be only
> one chance to put cpu into any C state before it is put online again.
> So to put offlined cpu into deep C state, you need to check
> cpu offline state before adopting normal idleness prediction
> algorithm to choose cpu C state.
> 

Any reason why not just directly put the processor into deepest c-state?

Thanks,
-Aubrey

Reply via email to