Re: RFC [3/3] - SoC, CPU LPS, Tickless idle and Device power management

Thomas, Ramesh

On Tue, 2016-03-01 at 21:23 +0000, Boie, Andrew P wrote:
On Mon, 2016-02-29 at 10:00 +0000, Thomas, Ramesh wrote:
2. Nanokernel tickless idle PM support:
- Currently tickless idle PM hooks are called only in microkernel
task. The same hook functions should also be called from nanokernel
tickless idle. Microkernel and Nanokernel implementations would
be consolidated. This consolidation would also make names of
With all due respect what are you talking about?
Tickless idle and PM are orthogonal!
Tickless idle means we don't come out of idle to just serve periodic
timer interrupts, we come out of idle for the next scheduled event or
an IRQ. You don't need "PM Hooks" for tickless idle...
This is to give an opportunity for the PM service app to do additional
operations saving power around the tickless idle i.e. do more than just
rely on the power savings achieved by HLT that is done by the kernel.

This is a very efficient way to save power and probably going to be the
most used feature. The system is going to be idle for varied amounts of
time as determined by the tickless idle logic. Kernel notifies PM
service before it goes to idle and when it exits idle. Depending upon
the idle time available, peripherals and clocks can be turned off saving
additional power. In some SoCs that do not support deep sleep, this is
the only way to do power management.

Based on feedbacks to earlier RFCs this interface is combined with the
SoC power management i.e. deep sleep interface. It is better combined
because now the PM App service can make decisions at one place. It can
just turn off clocks and peripherals and let the kernel do its idle if
the time is short. If the system is going to be idle for prolonged
periods, then it can decide to go to deep sleep. The decisions are
based on wake latencies of each operation and the power policies that
the PM service app implements.


Join { to automatically receive all group messages.