[PATCH 0/8] nohz: Fix nohz kick irq work on tick v2

From: Frederic Weisbecker
Date: Wed Sep 10 2014 - 17:33:39 EST


Hi,

The nohz kick uses irq work to restart the tick but it relies on irq
work to run on its own IPI. Otherwise the kick runs on the tick and
bad things happen when it tries to cancel the tick hrtimer from itself.

That 2nd version addresses Peterz review.

Note I only tested x86. Just waiting for general agreement before testing
more seriously.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
nohz/fixes-v2

HEAD: 863bea6acd4c9151f9be2fa623e8fee588d4e58c

Thanks,
Frederic
---

Frederic Weisbecker (7):
nohz: Move nohz full init call to tick init
irq_work: Force raised irq work to run on irq work interrupt
x86: Tell irq work about self IPI support
arm: Tell irq work about self IPI support
arm64: Tell irq work about self IPI support
nohz: Consolidate nohz full init code
nohz: nohz full depends on irq work self IPI support

Peter Zijlstra (1):
irq_work: Introduce arch_irq_work_has_interrupt()


arch/alpha/include/asm/Kbuild | 1 +
arch/arc/include/asm/Kbuild | 1 +
arch/arm/include/asm/irq_work.h | 11 ++++++++
arch/arm/kernel/smp.c | 2 +-
arch/arm64/include/asm/Kbuild | 2 +-
arch/arm64/include/asm/irq_work.h | 11 ++++++++
arch/arm64/include/asm/smp.h | 2 ++
arch/arm64/kernel/smp.c | 2 +-
arch/avr32/include/asm/Kbuild | 1 +
arch/blackfin/include/asm/Kbuild | 1 +
arch/c6x/include/asm/Kbuild | 1 +
arch/cris/include/asm/Kbuild | 1 +
arch/frv/include/asm/Kbuild | 1 +
arch/hexagon/include/asm/Kbuild | 1 +
arch/ia64/include/asm/Kbuild | 1 +
arch/m32r/include/asm/Kbuild | 1 +
arch/m68k/include/asm/Kbuild | 1 +
arch/metag/include/asm/Kbuild | 1 +
arch/microblaze/include/asm/Kbuild | 1 +
arch/mips/include/asm/Kbuild | 1 +
arch/mn10300/include/asm/Kbuild | 1 +
arch/openrisc/include/asm/Kbuild | 1 +
arch/parisc/include/asm/Kbuild | 1 +
arch/powerpc/include/asm/Kbuild | 1 +
arch/s390/include/asm/Kbuild | 1 +
arch/score/include/asm/Kbuild | 1 +
arch/sh/include/asm/Kbuild | 1 +
arch/sparc/include/asm/Kbuild | 1 +
arch/tile/include/asm/Kbuild | 1 +
arch/um/include/asm/Kbuild | 1 +
arch/unicore32/include/asm/Kbuild | 1 +
arch/x86/include/asm/irq_work.h | 11 ++++++++
arch/x86/kernel/irq_work.c | 2 +-
arch/xtensa/include/asm/Kbuild | 1 +
include/asm-generic/irq_work.h | 10 ++++++++
include/linux/irq_work.h | 3 +++
include/linux/tick.h | 2 --
init/main.c | 1 -
kernel/irq_work.c | 13 ++++++++--
kernel/time/tick-common.c | 1 +
kernel/time/tick-internal.h | 7 +++++
kernel/time/tick-sched.c | 52 ++++++++++++++++++++++++--------------
kernel/time/timer.c | 2 +-
43 files changed, 131 insertions(+), 29 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/