diff options
| -rw-r--r-- | arch/ia64/kernel/irq_ia64.c | 12 | ||||
| -rw-r--r-- | arch/mips/kernel/smtc.c | 4 | ||||
| -rw-r--r-- | arch/mips/sgi-ip22/ip22-int.c | 2 | ||||
| -rw-r--r-- | arch/mips/sgi-ip22/ip22-time.c | 2 | ||||
| -rw-r--r-- | arch/mips/sibyte/bcm1480/smp.c | 3 | ||||
| -rw-r--r-- | arch/mips/sibyte/sb1250/smp.c | 3 | ||||
| -rw-r--r-- | arch/mn10300/kernel/mn10300-watchdog.c | 3 | ||||
| -rw-r--r-- | arch/sparc/kernel/time_64.c | 2 |
8 files changed, 20 insertions, 11 deletions
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index 28d3d483db92..927ad027820c 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
| @@ -493,11 +493,13 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs) | |||
| 493 | saved_tpr = ia64_getreg(_IA64_REG_CR_TPR); | 493 | saved_tpr = ia64_getreg(_IA64_REG_CR_TPR); |
| 494 | ia64_srlz_d(); | 494 | ia64_srlz_d(); |
| 495 | while (vector != IA64_SPURIOUS_INT_VECTOR) { | 495 | while (vector != IA64_SPURIOUS_INT_VECTOR) { |
| 496 | struct irq_desc *desc = irq_to_desc(vector); | ||
| 497 | |||
| 496 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { | 498 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { |
| 497 | smp_local_flush_tlb(); | 499 | smp_local_flush_tlb(); |
| 498 | kstat_this_cpu.irqs[vector]++; | 500 | kstat_incr_irqs_this_cpu(vector, desc); |
| 499 | } else if (unlikely(IS_RESCHEDULE(vector))) | 501 | } else if (unlikely(IS_RESCHEDULE(vector))) |
| 500 | kstat_this_cpu.irqs[vector]++; | 502 | kstat_incr_irqs_this_cpu(vector, desc); |
| 501 | else { | 503 | else { |
| 502 | int irq = local_vector_to_irq(vector); | 504 | int irq = local_vector_to_irq(vector); |
| 503 | 505 | ||
| @@ -551,11 +553,13 @@ void ia64_process_pending_intr(void) | |||
| 551 | * Perform normal interrupt style processing | 553 | * Perform normal interrupt style processing |
| 552 | */ | 554 | */ |
| 553 | while (vector != IA64_SPURIOUS_INT_VECTOR) { | 555 | while (vector != IA64_SPURIOUS_INT_VECTOR) { |
| 556 | struct irq_desc *desc = irq_to_desc(vector); | ||
| 557 | |||
| 554 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { | 558 | if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) { |
| 555 | smp_local_flush_tlb(); | 559 | smp_local_flush_tlb(); |
| 556 | kstat_this_cpu.irqs[vector]++; | 560 | kstat_incr_irqs_this_cpu(vector, desc); |
| 557 | } else if (unlikely(IS_RESCHEDULE(vector))) | 561 | } else if (unlikely(IS_RESCHEDULE(vector))) |
| 558 | kstat_this_cpu.irqs[vector]++; | 562 | kstat_incr_irqs_this_cpu(vector, desc); |
| 559 | else { | 563 | else { |
| 560 | struct pt_regs *old_regs = set_irq_regs(NULL); | 564 | struct pt_regs *old_regs = set_irq_regs(NULL); |
| 561 | int irq = local_vector_to_irq(vector); | 565 | int irq = local_vector_to_irq(vector); |
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index d2c1ab12425a..5f5af7d4c890 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
| @@ -921,11 +921,13 @@ void ipi_decode(struct smtc_ipi *pipi) | |||
| 921 | struct clock_event_device *cd; | 921 | struct clock_event_device *cd; |
| 922 | void *arg_copy = pipi->arg; | 922 | void *arg_copy = pipi->arg; |
| 923 | int type_copy = pipi->type; | 923 | int type_copy = pipi->type; |
| 924 | int irq = MIPS_CPU_IRQ_BASE + 1; | ||
| 925 | |||
| 924 | smtc_ipi_nq(&freeIPIq, pipi); | 926 | smtc_ipi_nq(&freeIPIq, pipi); |
| 925 | switch (type_copy) { | 927 | switch (type_copy) { |
| 926 | case SMTC_CLOCK_TICK: | 928 | case SMTC_CLOCK_TICK: |
| 927 | irq_enter(); | 929 | irq_enter(); |
| 928 | kstat_this_cpu.irqs[MIPS_CPU_IRQ_BASE + 1]++; | 930 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 929 | cd = &per_cpu(mips_clockevent_device, cpu); | 931 | cd = &per_cpu(mips_clockevent_device, cpu); |
| 930 | cd->event_handler(cd); | 932 | cd->event_handler(cd); |
| 931 | irq_exit(); | 933 | irq_exit(); |
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c index f8b18af141a1..0ecd5fe9486e 100644 --- a/arch/mips/sgi-ip22/ip22-int.c +++ b/arch/mips/sgi-ip22/ip22-int.c | |||
| @@ -155,7 +155,7 @@ static void indy_buserror_irq(void) | |||
| 155 | int irq = SGI_BUSERR_IRQ; | 155 | int irq = SGI_BUSERR_IRQ; |
| 156 | 156 | ||
| 157 | irq_enter(); | 157 | irq_enter(); |
| 158 | kstat_this_cpu.irqs[irq]++; | 158 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 159 | ip22_be_interrupt(irq); | 159 | ip22_be_interrupt(irq); |
| 160 | irq_exit(); | 160 | irq_exit(); |
| 161 | } | 161 | } |
diff --git a/arch/mips/sgi-ip22/ip22-time.c b/arch/mips/sgi-ip22/ip22-time.c index 3dcb27ec0c53..c8f7d2328b24 100644 --- a/arch/mips/sgi-ip22/ip22-time.c +++ b/arch/mips/sgi-ip22/ip22-time.c | |||
| @@ -122,7 +122,7 @@ void indy_8254timer_irq(void) | |||
| 122 | char c; | 122 | char c; |
| 123 | 123 | ||
| 124 | irq_enter(); | 124 | irq_enter(); |
| 125 | kstat_this_cpu.irqs[irq]++; | 125 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 126 | printk(KERN_ALERT "Oops, got 8254 interrupt.\n"); | 126 | printk(KERN_ALERT "Oops, got 8254 interrupt.\n"); |
| 127 | ArcRead(0, &c, 1, &cnt); | 127 | ArcRead(0, &c, 1, &cnt); |
| 128 | ArcEnterInteractiveMode(); | 128 | ArcEnterInteractiveMode(); |
diff --git a/arch/mips/sibyte/bcm1480/smp.c b/arch/mips/sibyte/bcm1480/smp.c index dddfda8e8294..314691648c97 100644 --- a/arch/mips/sibyte/bcm1480/smp.c +++ b/arch/mips/sibyte/bcm1480/smp.c | |||
| @@ -178,9 +178,10 @@ struct plat_smp_ops bcm1480_smp_ops = { | |||
| 178 | void bcm1480_mailbox_interrupt(void) | 178 | void bcm1480_mailbox_interrupt(void) |
| 179 | { | 179 | { |
| 180 | int cpu = smp_processor_id(); | 180 | int cpu = smp_processor_id(); |
| 181 | int irq = K_BCM1480_INT_MBOX_0_0; | ||
| 181 | unsigned int action; | 182 | unsigned int action; |
| 182 | 183 | ||
| 183 | kstat_this_cpu.irqs[K_BCM1480_INT_MBOX_0_0]++; | 184 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 184 | /* Load the mailbox register to figure out what we're supposed to do */ | 185 | /* Load the mailbox register to figure out what we're supposed to do */ |
| 185 | action = (__raw_readq(mailbox_0_regs[cpu]) >> 48) & 0xffff; | 186 | action = (__raw_readq(mailbox_0_regs[cpu]) >> 48) & 0xffff; |
| 186 | 187 | ||
diff --git a/arch/mips/sibyte/sb1250/smp.c b/arch/mips/sibyte/sb1250/smp.c index 5950a288a7da..cad14003b84f 100644 --- a/arch/mips/sibyte/sb1250/smp.c +++ b/arch/mips/sibyte/sb1250/smp.c | |||
| @@ -166,9 +166,10 @@ struct plat_smp_ops sb_smp_ops = { | |||
| 166 | void sb1250_mailbox_interrupt(void) | 166 | void sb1250_mailbox_interrupt(void) |
| 167 | { | 167 | { |
| 168 | int cpu = smp_processor_id(); | 168 | int cpu = smp_processor_id(); |
| 169 | int irq = K_INT_MBOX_0; | ||
| 169 | unsigned int action; | 170 | unsigned int action; |
| 170 | 171 | ||
| 171 | kstat_this_cpu.irqs[K_INT_MBOX_0]++; | 172 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 172 | /* Load the mailbox register to figure out what we're supposed to do */ | 173 | /* Load the mailbox register to figure out what we're supposed to do */ |
| 173 | action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; | 174 | action = (____raw_readq(mailbox_regs[cpu]) >> 48) & 0xffff; |
| 174 | 175 | ||
diff --git a/arch/mn10300/kernel/mn10300-watchdog.c b/arch/mn10300/kernel/mn10300-watchdog.c index 10811e981d20..2e370d88a87a 100644 --- a/arch/mn10300/kernel/mn10300-watchdog.c +++ b/arch/mn10300/kernel/mn10300-watchdog.c | |||
| @@ -130,6 +130,7 @@ void watchdog_interrupt(struct pt_regs *regs, enum exception_code excep) | |||
| 130 | * the stack NMI-atomically, it's safe to use smp_processor_id(). | 130 | * the stack NMI-atomically, it's safe to use smp_processor_id(). |
| 131 | */ | 131 | */ |
| 132 | int sum, cpu = smp_processor_id(); | 132 | int sum, cpu = smp_processor_id(); |
| 133 | int irq = NMIIRQ; | ||
| 133 | u8 wdt, tmp; | 134 | u8 wdt, tmp; |
| 134 | 135 | ||
| 135 | wdt = WDCTR & ~WDCTR_WDCNE; | 136 | wdt = WDCTR & ~WDCTR_WDCNE; |
| @@ -138,7 +139,7 @@ void watchdog_interrupt(struct pt_regs *regs, enum exception_code excep) | |||
| 138 | NMICR = NMICR_WDIF; | 139 | NMICR = NMICR_WDIF; |
| 139 | 140 | ||
| 140 | nmi_count(cpu)++; | 141 | nmi_count(cpu)++; |
| 141 | kstat_this_cpu.irqs[NMIIRQ]++; | 142 | kstat_incr_irqs_this_cpu(irq, irq_to_desc(irq)); |
| 142 | sum = irq_stat[cpu].__irq_count; | 143 | sum = irq_stat[cpu].__irq_count; |
| 143 | 144 | ||
| 144 | if (last_irq_sums[cpu] == sum) { | 145 | if (last_irq_sums[cpu] == sum) { |
diff --git a/arch/sparc/kernel/time_64.c b/arch/sparc/kernel/time_64.c index 54405d362148..28b48f3eb256 100644 --- a/arch/sparc/kernel/time_64.c +++ b/arch/sparc/kernel/time_64.c | |||
| @@ -727,7 +727,7 @@ void timer_interrupt(int irq, struct pt_regs *regs) | |||
| 727 | 727 | ||
| 728 | irq_enter(); | 728 | irq_enter(); |
| 729 | 729 | ||
| 730 | kstat_this_cpu.irqs[0]++; | 730 | kstat_incr_irqs_this_cpu(0, irq_to_desc(0)); |
| 731 | 731 | ||
| 732 | if (unlikely(!evt->event_handler)) { | 732 | if (unlikely(!evt->event_handler)) { |
| 733 | printk(KERN_WARNING | 733 | printk(KERN_WARNING |
