diff options
Diffstat (limited to 'arch')
-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 |