From: Patrick Gefre Use the pda to keep the num of interrupts --- arch/ia64/sn/io/sn2/ml_SN_intr.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN arch/ia64/sn/io/sn2/ml_SN_intr.c~altix-irq-accounting-speedup arch/ia64/sn/io/sn2/ml_SN_intr.c --- 25/arch/ia64/sn/io/sn2/ml_SN_intr.c~altix-irq-accounting-speedup 2004-02-09 09:37:16.000000000 -0800 +++ 25-akpm/arch/ia64/sn/io/sn2/ml_SN_intr.c 2004-02-09 09:37:16.000000000 -0800 @@ -30,6 +30,7 @@ #include #include #include +#include extern irqpda_t *irqpdaindr; extern cnodeid_t master_node_get(vertex_hdl_t vhdl); @@ -216,7 +217,6 @@ static cpuid_t intr_cpu_choose_from_node { cpuid_t cpu, best_cpu = CPU_NONE; int slice, min_count = 1000; - irqpda_t *irqs; for (slice = CPUS_PER_NODE - 1; slice >= 0; slice--) { int intrs; @@ -227,8 +227,7 @@ static cpuid_t intr_cpu_choose_from_node if (!cpu_online(cpu)) continue; - irqs = irqpdaindr; - intrs = irqs->num_irq_used; + intrs = pdacpu(cpu)->sn_num_irqs; if (min_count > intrs) { min_count = intrs; @@ -243,6 +242,7 @@ static cpuid_t intr_cpu_choose_from_node } } } + pdacpu(best_cpu)->sn_num_irqs++; return best_cpu; } _