* [RFC PATCH] powerpc: tick broadcast handler should call tick_receive_broadcast
@ 2017-09-01 5:25 Nicholas Piggin
0 siblings, 0 replies; only message in thread
From: Nicholas Piggin @ 2017-09-01 5:25 UTC (permalink / raw)
To: linuxppc-dev; +Cc: Nicholas Piggin, Srivatsa S . Bhat, Preeti U Murthy
Recently looking through the broadcast timers code, and I wonder if
we should be calling tick_receive_broadcast() here? Our __timer_interrupt()
works on the decrementer clockevent device, but we should be working on
the broadcast device I think? We must get away with it somehow, but I
see most other archs doing this and it seems to work, so I wonder if we
should take broadcasts this way?
---
arch/powerpc/include/asm/time.h | 1 -
arch/powerpc/kernel/smp.c | 4 ++--
arch/powerpc/kernel/time.c | 9 ---------
3 files changed, 2 insertions(+), 12 deletions(-)
diff --git a/arch/powerpc/include/asm/time.h b/arch/powerpc/include/asm/time.h
index b240666b7bc1..13b5d768c761 100644
--- a/arch/powerpc/include/asm/time.h
+++ b/arch/powerpc/include/asm/time.h
@@ -28,7 +28,6 @@ extern struct clock_event_device decrementer_clockevent;
struct rtc_time;
extern void to_tm(int tim, struct rtc_time * tm);
-extern void tick_broadcast_ipi_handler(void);
extern void generic_calibrate_decr(void);
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 8d3320562c70..101e4476e1d6 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -155,7 +155,7 @@ static irqreturn_t reschedule_action(int irq, void *data)
static irqreturn_t tick_broadcast_ipi_action(int irq, void *data)
{
- tick_broadcast_ipi_handler();
+ tick_receive_broadcast();
return IRQ_HANDLED;
}
@@ -276,7 +276,7 @@ irqreturn_t smp_ipi_demux_relaxed(void)
if (all & IPI_MESSAGE(PPC_MSG_RESCHEDULE))
scheduler_ipi();
if (all & IPI_MESSAGE(PPC_MSG_TICK_BROADCAST))
- tick_broadcast_ipi_handler();
+ tick_receive_broadcast();
#ifdef CONFIG_NMI_IPI
if (all & IPI_MESSAGE(PPC_MSG_NMI_IPI))
nmi_ipi_action(0, NULL);
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index fe6f3a285455..6f291a99ce04 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -968,15 +968,6 @@ static int decrementer_shutdown(struct clock_event_device *dev)
return 0;
}
-/* Interrupt handler for the timer broadcast IPI */
-void tick_broadcast_ipi_handler(void)
-{
- u64 *next_tb = this_cpu_ptr(&decrementers_next_tb);
-
- *next_tb = get_tb_or_rtc();
- __timer_interrupt();
-}
-
static void register_decrementer_clockevent(int cpu)
{
struct clock_event_device *dec = &per_cpu(decrementers, cpu);
--
2.13.3
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2017-09-01 5:25 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-01 5:25 [RFC PATCH] powerpc: tick broadcast handler should call tick_receive_broadcast Nicholas Piggin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).