x86: make irq_cpustat_t fields conditional
authorBrian Gerst <brgerst@gmail.com>
Fri, 23 Jan 2009 02:03:32 +0000 (11:03 +0900)
committerTejun Heo <tj@kernel.org>
Fri, 23 Jan 2009 02:03:32 +0000 (11:03 +0900)
Impact: shrink size of irq_cpustat_t when possible

Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
arch/x86/include/asm/hardirq.h

index f4a95f20f8ecb00926db518f21a3378381a5ad9e..176f058e715947cbd7b803b90654e14b307dc8ea 100644 (file)
@@ -7,14 +7,22 @@
 typedef struct {
        unsigned int __softirq_pending;
        unsigned int __nmi_count;       /* arch dependent */
-       unsigned int apic_timer_irqs;   /* arch dependent */
        unsigned int irq0_irqs;
+#ifdef CONFIG_X86_LOCAL_APIC
+       unsigned int apic_timer_irqs;   /* arch dependent */
+       unsigned int irq_spurious_count;
+#endif
+#ifdef CONFIG_SMP
        unsigned int irq_resched_count;
        unsigned int irq_call_count;
        unsigned int irq_tlb_count;
+#endif
+#ifdef CONFIG_X86_MCE
        unsigned int irq_thermal_count;
-       unsigned int irq_spurious_count;
+# ifdef CONFIG_X86_64
        unsigned int irq_threshold_count;
+# endif
+#endif
 } ____cacheline_aligned irq_cpustat_t;
 
 DECLARE_PER_CPU(irq_cpustat_t, irq_stat);