The patch titled dynticks: core, NMI watchdog fix has been removed from the -mm tree. Its filename is dynticks-core-nmi-watchdog-fix.patch This patch was dropped because an updated version was merged ------------------------------------------------------ Subject: dynticks: core, NMI watchdog fix From: Ingo Molnar <mingo@xxxxxxx> Fix an NMI-watchdog interaction: we dont want to call hrtimer_update_jiffies() in NMI contexts ... Create __irq_enter() (which is symmetric to __irq_exit()) and use it in nmi_enter() and irq_enter(). [ Note: like __irq_exit() it needs to be a macro because hardirq.h is included early on and types like struct task_struct are not available yet. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: john stultz <johnstul@xxxxxxxxxx> Cc: Roman Zippel <zippel@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/hardirq.h | 12 +++++++++++- kernel/softirq.c | 5 +---- 2 files changed, 12 insertions(+), 5 deletions(-) diff -puN include/linux/hardirq.h~dynticks-core-nmi-watchdog-fix include/linux/hardirq.h --- a/include/linux/hardirq.h~dynticks-core-nmi-watchdog-fix +++ a/include/linux/hardirq.h @@ -106,6 +106,16 @@ static inline void account_system_vtime( * always balanced, so the interrupted value of ->hardirq_context * will always be restored. */ +#define __irq_enter() \ + do { \ + account_system_vtime(current); \ + add_preempt_count(HARDIRQ_OFFSET); \ + trace_hardirq_enter(); \ + } while (0) + +/* + * Enter irq context (on NO_HZ, update jiffies): + */ extern void irq_enter(void); /* @@ -123,7 +133,7 @@ extern void irq_enter(void); */ extern void irq_exit(void); -#define nmi_enter() do { lockdep_off(); irq_enter(); } while (0) +#define nmi_enter() do { lockdep_off(); __irq_enter(); } while (0) #define nmi_exit() do { __irq_exit(); lockdep_on(); } while (0) #endif /* LINUX_HARDIRQ_H */ diff -puN kernel/softirq.c~dynticks-core-nmi-watchdog-fix kernel/softirq.c --- a/kernel/softirq.c~dynticks-core-nmi-watchdog-fix +++ a/kernel/softirq.c @@ -278,10 +278,7 @@ EXPORT_SYMBOL(do_softirq); */ void irq_enter(void) { - account_system_vtime(current); - add_preempt_count(HARDIRQ_OFFSET); - trace_hardirq_enter(); - + __irq_enter(); #ifdef CONFIG_NO_HZ if (idle_cpu(smp_processor_id()) && !in_interrupt()) hrtimer_update_jiffies(); _ Patches currently in -mm which might be from mingo@xxxxxxx are forcedeth-hardirq-lockdep-warning.patch bonding-lockdep-annotation.patch spinlock-debug-all-cpu-backtrace.patch spinlock-debug-all-cpu-backtrace-fix.patch spinlock-debug-all-cpu-backtrace-fix-2.patch spinlock-debug-all-cpu-backtrace-fix-3.patch remove-the-old-bd_mutex-lockdep-annotation.patch new-bd_mutex-lockdep-annotation.patch sched-add-above-background-load-function.patch mm-implement-swap-prefetching.patch sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch dynticks-core-nmi-watchdog-fix.patch dynticks-core-nmi-watchdog-fix-2.patch dynticks-core-fix-idle-time-accounting.patch dyntick-add-nohz-stats-to-proc-stat.patch dynticks-i386-arch-code.patch high-res-timers-dynticks-enable-i386-support.patch debugging-feature-timer-stats.patch debugging-feature-timer-stats-fix.patch detect-atomic-counter-underflows.patch debug-shared-irqs.patch make-frame_pointer-default=y.patch mutex-subsystem-synchro-test-module.patch vdso-print-fatal-signals.patch vdso-improve-print_fatal_signals-support-by-adding-memory-maps.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html