diff --git a/include/linux/irq.h b/include/linux/irq.h index a6899402b522..1695054e8c63 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -147,8 +147,6 @@ struct irq_chip { * @dir: /proc/irq/ procfs entry * @affinity_entry: /proc/irq/smp_affinity procfs entry on SMP * @name: flow handler name for /proc/interrupts output - * - * Pad this out to 32 bytes for cache and indexing reasons. */ struct irq_desc { irq_flow_handler_t handle_irq; @@ -175,7 +173,7 @@ struct irq_desc { struct proc_dir_entry *dir; #endif const char *name; -} ____cacheline_aligned; +} ____cacheline_internodealigned_in_smp; extern struct irq_desc irq_desc[NR_IRQS]; diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index aff1f0fabb0d..515ad40bde15 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -48,7 +48,7 @@ handle_bad_irq(unsigned int irq, struct irq_desc *desc) * * Controller mappings for all interrupt sources: */ -struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned = { +struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned_in_smp = { [0 ... NR_IRQS-1] = { .status = IRQ_DISABLED, .chip = &no_irq_chip,