[tesla-dev] re-initialize APIC timer
Li, Aubrey
aubrey.li at intel.com
Sun Jun 22 19:00:31 PDT 2008
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
More information about the tesla-dev
mailing list