mirror of
https://github.com/torvalds/linux.git
synced 2024-11-06 03:51:48 +00:00
fea559f303
Implement arch_irq_work_has_interrupt() for powerpc Commit9b01f5bf3
introduced a dependency on "IRQ work self-IPIs" for full dynamic ticks to be enabled, by expecting architectures to implement a suitable arch_irq_work_has_interrupt() routine. Several arches have implemented this routine, including x86 (3010279f
) and arm (09f6edd4
), but powerpc was omitted. This patch implements this routine for powerpc. The symptom, at boot (on powerpc systems) with "nohz_full=<CPU list>" is displayed: NO_HZ: Can't run full dynticks because arch doesn't support irq work self-IPIs after this patch: NO_HZ: Full dynticks CPUs: <CPU list>. Tested against 3.19. powerpc implements "IRQ work self-IPIs" by setting the decrementer to 1 in arch_irq_work_raise(), which causes a decrementer exception on the next timebase tick. We then handle the work in __timer_interrupt(). CC: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Paul A. Clarke <pc@us.ibm.com> Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> [mpe: Flesh out change log, fix ws & include guards, remove include of processor.h] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
10 lines
174 B
C
10 lines
174 B
C
#ifndef _ASM_POWERPC_IRQ_WORK_H
|
|
#define _ASM_POWERPC_IRQ_WORK_H
|
|
|
|
static inline bool arch_irq_work_has_interrupt(void)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
#endif /* _ASM_POWERPC_IRQ_WORK_H */
|