From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/9] ARM: smp: provide accessors for irq_stat data
Date: Mon, 15 Nov 2010 17:58:44 +0000 [thread overview]
Message-ID: <E1PI3KG-00029m-Sd@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20101115175553.GC31421@n2100.arm.linux.org.uk>
Provide __inc_irq_stat() and __get_irq_stat() to increment and
read the irq stat counters.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
arch/arm/include/asm/hardirq.h | 3 +++
arch/arm/kernel/smp.c | 4 ++--
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/arm/include/asm/hardirq.h b/arch/arm/include/asm/hardirq.h
index 522fb23..923eaa1 100644
--- a/arch/arm/include/asm/hardirq.h
+++ b/arch/arm/include/asm/hardirq.h
@@ -14,6 +14,9 @@ typedef struct {
#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
+#define __inc_irq_stat(cpu, member) __IRQ_STAT(cpu, member)++
+#define __get_irq_stat(cpu, member) __IRQ_STAT(cpu, member)
+
#if NR_IRQS > 512
#define HARDIRQ_BITS 10
#elif NR_IRQS > 256
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index b58b6c4..f276336 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -437,7 +437,7 @@ asmlinkage void __exception do_local_timer(struct pt_regs *regs)
int cpu = smp_processor_id();
if (local_timer_ack()) {
- irq_stat[cpu].local_timer_irqs++;
+ __inc_irq_stat(cpu, local_timer_irqs);
ipi_timer();
}
@@ -451,7 +451,7 @@ void show_local_irqs(struct seq_file *p)
seq_printf(p, "LOC: ");
for_each_present_cpu(cpu)
- seq_printf(p, "%10u ", irq_stat[cpu].local_timer_irqs);
+ seq_printf(p, "%10u ", __get_irq_stat(cpu, local_timer_irqs));
seq_putc(p, '\n');
}
--
1.6.2.5
next prev parent reply other threads:[~2010-11-15 17:58 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-15 17:55 [PATCH 0/9] Clean up SMP IPI support Russell King - ARM Linux
2010-11-15 17:58 ` [PATCH 1/9] ARM: remove obsolete smp_cross_call_done() Russell King - ARM Linux
2010-11-15 17:58 ` [PATCH 2/9] ARM: smp: pass an ipi number to smp_cross_call() Russell King - ARM Linux
2010-11-17 11:05 ` Catalin Marinas
2010-11-15 17:58 ` [PATCH 3/9] ARM: smp: avoid using bitmasks and locks for IPIs, use hardware instead Russell King - ARM Linux
2010-11-17 17:06 ` Catalin Marinas
2010-11-17 17:19 ` Russell King - ARM Linux
2010-11-17 17:28 ` Catalin Marinas
2010-11-15 17:58 ` [PATCH 4/9] ARM: include local timer irq stats only when local timers configured Russell King - ARM Linux
2010-11-15 17:58 ` Russell King - ARM Linux [this message]
2010-11-15 17:58 ` [PATCH 6/9] ARM: smp: move ipi_count into irq_stat structure Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 7/9] ARM: fix /proc/interrupts formatting Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 8/9] ARM: smp: provide individual IPI interrupt statistics Russell King - ARM Linux
2010-11-15 17:59 ` [PATCH 9/9] ARM: smp: collect IPI and local timer IRQs for /proc/stat Russell King - ARM Linux
2010-11-17 17:07 ` [PATCH 0/9] Clean up SMP IPI support Catalin Marinas
2010-11-17 17:17 ` Catalin Marinas
2010-11-17 17:21 ` Russell King - ARM Linux
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1PI3KG-00029m-Sd@rmk-PC.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.