* [patch] kstat_this_cpu breakage in Linus' tree
@ 2009-03-27 15:55 Jes Sorensen
0 siblings, 0 replies; only message in thread
From: Jes Sorensen @ 2009-03-27 15:55 UTC (permalink / raw)
To: linux-ia64
[-- Attachment #1: Type: text/plain, Size: 275 bytes --]
Hi,
Due to a patch getting pulled in overnight, Linus' kernel failed to
build here. Not sure if anybody else already fixed this, if so feel
free to just hit delete here. Otherwise here's a patch that boots for
me - thought it could be I got something wrong :-)
Cheers,
Jes
[-- Attachment #2: 4000-ia64-fix-kstat-irq.patch --]
[-- Type: text/x-patch, Size: 1950 bytes --]
Fix build breakage due to recent kstat_this_cpu changes in
d7e51e66899f95dabc89b4d4c6674a6e50fa37fc
Signed-off-by: Jes Sorensen <jes@sgi.com>
---
arch/ia64/kernel/irq_ia64.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
Index: linux-2.6.git/arch/ia64/kernel/irq_ia64.c
===================================================================
--- linux-2.6.git.orig/arch/ia64/kernel/irq_ia64.c
+++ linux-2.6.git/arch/ia64/kernel/irq_ia64.c
@@ -493,14 +493,16 @@
saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
ia64_srlz_d();
while (vector != IA64_SPURIOUS_INT_VECTOR) {
+ struct irq_desc *desc;
+ int irq = local_vector_to_irq(vector);
+
+ desc = irq_desc + irq;
if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
smp_local_flush_tlb();
- kstat_this_cpu.irqs[vector]++;
+ kstat_incr_irqs_this_cpu(irq, desc);
} else if (unlikely(IS_RESCHEDULE(vector)))
- kstat_this_cpu.irqs[vector]++;
+ kstat_incr_irqs_this_cpu(irq, desc);
else {
- int irq = local_vector_to_irq(vector);
-
ia64_setreg(_IA64_REG_CR_TPR, vector);
ia64_srlz_d();
@@ -543,22 +545,24 @@
vector = ia64_get_ivr();
- irq_enter();
- saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
- ia64_srlz_d();
+ irq_enter();
+ saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
+ ia64_srlz_d();
/*
* Perform normal interrupt style processing
*/
while (vector != IA64_SPURIOUS_INT_VECTOR) {
+ struct irq_desc *desc;
+ int irq = local_vector_to_irq(vector);
+ desc = irq_desc + irq;
if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
smp_local_flush_tlb();
- kstat_this_cpu.irqs[vector]++;
+ kstat_incr_irqs_this_cpu(irq, desc);
} else if (unlikely(IS_RESCHEDULE(vector)))
- kstat_this_cpu.irqs[vector]++;
+ kstat_incr_irqs_this_cpu(irq, desc);
else {
struct pt_regs *old_regs = set_irq_regs(NULL);
- int irq = local_vector_to_irq(vector);
ia64_setreg(_IA64_REG_CR_TPR, vector);
ia64_srlz_d();
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-03-27 15:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-27 15:55 [patch] kstat_this_cpu breakage in Linus' tree Jes Sorensen
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.