diff options
-rw-r--r-- | arch/x86/kernel/nmi_64.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/time_64.c | 2 | ||||
-rw-r--r-- | include/asm-x86/pda.h | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/nmi_64.c b/arch/x86/kernel/nmi_64.c index 0ec6d2ddb93..e60ac0da528 100644 --- a/arch/x86/kernel/nmi_64.c +++ b/arch/x86/kernel/nmi_64.c | |||
@@ -329,7 +329,7 @@ int __kprobes nmi_watchdog_tick(struct pt_regs * regs, unsigned reason) | |||
329 | touched = 1; | 329 | touched = 1; |
330 | } | 330 | } |
331 | 331 | ||
332 | sum = read_pda(apic_timer_irqs); | 332 | sum = read_pda(apic_timer_irqs) + read_pda(irq0_irqs); |
333 | if (__get_cpu_var(nmi_touch)) { | 333 | if (__get_cpu_var(nmi_touch)) { |
334 | __get_cpu_var(nmi_touch) = 0; | 334 | __get_cpu_var(nmi_touch) = 0; |
335 | touched = 1; | 335 | touched = 1; |
diff --git a/arch/x86/kernel/time_64.c b/arch/x86/kernel/time_64.c index 7781df1d50e..16f58886e8d 100644 --- a/arch/x86/kernel/time_64.c +++ b/arch/x86/kernel/time_64.c | |||
@@ -194,6 +194,8 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) | |||
194 | 194 | ||
195 | static irqreturn_t timer_event_interrupt(int irq, void *dev_id) | 195 | static irqreturn_t timer_event_interrupt(int irq, void *dev_id) |
196 | { | 196 | { |
197 | add_pda(irq0_irqs, 1); | ||
198 | |||
197 | global_clock_event->event_handler(global_clock_event); | 199 | global_clock_event->event_handler(global_clock_event); |
198 | 200 | ||
199 | return IRQ_HANDLED; | 201 | return IRQ_HANDLED; |
diff --git a/include/asm-x86/pda.h b/include/asm-x86/pda.h index 5642634843c..fb49f80eb94 100644 --- a/include/asm-x86/pda.h +++ b/include/asm-x86/pda.h | |||
@@ -29,6 +29,7 @@ struct x8664_pda { | |||
29 | short isidle; | 29 | short isidle; |
30 | struct mm_struct *active_mm; | 30 | struct mm_struct *active_mm; |
31 | unsigned apic_timer_irqs; | 31 | unsigned apic_timer_irqs; |
32 | unsigned irq0_irqs; | ||
32 | } ____cacheline_aligned_in_smp; | 33 | } ____cacheline_aligned_in_smp; |
33 | 34 | ||
34 | extern struct x8664_pda *_cpu_pda[]; | 35 | extern struct x8664_pda *_cpu_pda[]; |