This patchset is a precursor for enabling deep idle states on powerpc, when the local CPU timers stop. The tick broadcast framework in the Linux Kernel today handles wakeup of such CPUs at their next timer event by using an external clock device. At the expiry of this clock device, IPIs are sent to the CPUs in deep idle states so that they wakeup to handle their respective timers. This patchset frees up one of the IPI slots on powerpc so as to be used to handle the tick broadcast IPI.
On certain implementations of powerpc, such an external clock device is absent. The support in the tick broadcast framework to handle wakeup of CPUs from deep idle states on such implementations is currently in the tip tree. https://lkml.org/lkml/2014/2/7/906 https://lkml.org/lkml/2014/2/7/876 https://lkml.org/lkml/2014/2/7/608 With the above support in place, this patchset is next in line to enable deep idle states on powerpc. The patchset has been appended by a RESEND tag since nothing has changed from the previous post except for an added config condition around tick_broadcast() which handles sending broadcast IPIs, and the update in the cover letter. --- Preeti U Murthy (1): cpuidle/ppc: Split timer_interrupt() into timer handling and interrupt handling routines Srivatsa S. Bhat (2): powerpc: Free up the slot of PPC_MSG_CALL_FUNC_SINGLE IPI message powerpc: Implement tick broadcast IPI as a fixed IPI message arch/powerpc/include/asm/smp.h | 2 - arch/powerpc/include/asm/time.h | 1 arch/powerpc/kernel/smp.c | 25 ++++++--- arch/powerpc/kernel/time.c | 86 ++++++++++++++++++------------- arch/powerpc/platforms/cell/interrupt.c | 2 - arch/powerpc/platforms/ps3/smp.c | 2 - 6 files changed, 73 insertions(+), 45 deletions(-) -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/