diff options
Diffstat (limited to 'arch/x86/kernel/smp_32.c')
-rw-r--r-- | arch/x86/kernel/smp_32.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/smp_32.c b/arch/x86/kernel/smp_32.c index eebc6e82576c..791d9f8036ae 100644 --- a/arch/x86/kernel/smp_32.c +++ b/arch/x86/kernel/smp_32.c | |||
@@ -342,6 +342,7 @@ fastcall void smp_invalidate_interrupt(struct pt_regs *regs) | |||
342 | smp_mb__after_clear_bit(); | 342 | smp_mb__after_clear_bit(); |
343 | out: | 343 | out: |
344 | put_cpu_no_resched(); | 344 | put_cpu_no_resched(); |
345 | __get_cpu_var(irq_stat).irq_tlb_count++; | ||
345 | } | 346 | } |
346 | 347 | ||
347 | void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, | 348 | void native_flush_tlb_others(const cpumask_t *cpumaskp, struct mm_struct *mm, |
@@ -640,6 +641,7 @@ static void native_smp_send_stop(void) | |||
640 | fastcall void smp_reschedule_interrupt(struct pt_regs *regs) | 641 | fastcall void smp_reschedule_interrupt(struct pt_regs *regs) |
641 | { | 642 | { |
642 | ack_APIC_irq(); | 643 | ack_APIC_irq(); |
644 | __get_cpu_var(irq_stat).irq_resched_count++; | ||
643 | } | 645 | } |
644 | 646 | ||
645 | fastcall void smp_call_function_interrupt(struct pt_regs *regs) | 647 | fastcall void smp_call_function_interrupt(struct pt_regs *regs) |
@@ -660,6 +662,7 @@ fastcall void smp_call_function_interrupt(struct pt_regs *regs) | |||
660 | */ | 662 | */ |
661 | irq_enter(); | 663 | irq_enter(); |
662 | (*func)(info); | 664 | (*func)(info); |
665 | __get_cpu_var(irq_stat).irq_call_count++; | ||
663 | irq_exit(); | 666 | irq_exit(); |
664 | 667 | ||
665 | if (wait) { | 668 | if (wait) { |