diff options
-rw-r--r-- | arch/x86/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/smp.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 74656d1d4e30..391206199515 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -244,6 +244,7 @@ unsigned int __irq_entry do_IRQ(struct pt_regs *regs) | |||
244 | __func__, smp_processor_id(), vector, irq); | 244 | __func__, smp_processor_id(), vector, irq); |
245 | } | 245 | } |
246 | 246 | ||
247 | run_local_timers(); | ||
247 | irq_exit(); | 248 | irq_exit(); |
248 | 249 | ||
249 | set_irq_regs(old_regs); | 250 | set_irq_regs(old_regs); |
@@ -268,6 +269,7 @@ void smp_generic_interrupt(struct pt_regs *regs) | |||
268 | if (generic_interrupt_extension) | 269 | if (generic_interrupt_extension) |
269 | generic_interrupt_extension(); | 270 | generic_interrupt_extension(); |
270 | 271 | ||
272 | run_local_timers(); | ||
271 | irq_exit(); | 273 | irq_exit(); |
272 | 274 | ||
273 | set_irq_regs(old_regs); | 275 | set_irq_regs(old_regs); |
diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c index ec1de97600e7..d915d956e66d 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c | |||
@@ -198,6 +198,7 @@ void smp_reschedule_interrupt(struct pt_regs *regs) | |||
198 | { | 198 | { |
199 | ack_APIC_irq(); | 199 | ack_APIC_irq(); |
200 | inc_irq_stat(irq_resched_count); | 200 | inc_irq_stat(irq_resched_count); |
201 | run_local_timers(); | ||
201 | /* | 202 | /* |
202 | * KVM uses this interrupt to force a cpu out of guest mode | 203 | * KVM uses this interrupt to force a cpu out of guest mode |
203 | */ | 204 | */ |