We use lazily allocated IRQ regions on PA-RISC. diff -urpNX build-tools/dontdiff linus-2.5/include/linux/kernel_stat.h parisc-2.5/include/linux/kernel_stat.h --- linus-2.5/include/linux/kernel_stat.h Tue Nov 5 11:19:17 2002 +++ parisc-2.5/include/linux/kernel_stat.h Tue Nov 5 11:15:37 2002 @@ -23,7 +23,9 @@ struct cpu_usage_stat { struct kernel_stat { struct cpu_usage_stat cpustat; -#if !defined(CONFIG_ARCH_S390) +#if defined(CONFIG_PARISC) + unsigned int irqs[NR_IRQ_REGS][IRQ_PER_REGION]; +#elif !defined(CONFIG_ARCH_S390) unsigned int irqs[NR_IRQS]; #endif }; @@ -52,7 +54,11 @@ static inline int kstat_irqs (int irq) for (i = 0 ; i < NR_CPUS ; i++) if (cpu_possible(i)) +#ifdef CONFIG_PARISC + sum += kstat_cpu(i).irqs[IRQ_REGION(irq)][IRQ_OFFSET(irq)]; +#else sum += kstat_cpu(i).irqs[irq]; +#endif return sum; }