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
