OSDN Git Service

powerpc: generic clockevents broadcast receiver call tick_receive_broadcast
authorNicholas Piggin <npiggin@gmail.com>
Fri, 4 May 2018 17:19:31 +0000 (03:19 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 3 Jun 2018 10:40:27 +0000 (20:40 +1000)
commit3f984620f9a4fe089c0a3c951b75a460211394bb
treedf13a8c219ca5d8cdafb8ac51b92769ec4ba18f4
parent3d3a6021ddcbe9c31520e4e7b65e5ce5dc58274d
powerpc: generic clockevents broadcast receiver call tick_receive_broadcast

The broadcast tick recipient can call tick_receive_broadcast rather
than re-running the full timer interrupt.

It does not have to check for the next event time, because the sender
already determined the timer has expired. It does not have to test
irq_work_pending, because that's a direct decrementer interrupt and
does not go through the clock events subsystem. And it does not have
to read PURR because that was removed with the previous patch.

This results in no code size change, but both the decrementer and
broadcast path lengths are reduced.

Cc: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Cc: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/hw_irq.h
arch/powerpc/include/asm/time.h
arch/powerpc/kernel/smp.c
arch/powerpc/kernel/time.c