With the help of Andrew Morton we tracked down the original breakage to
the irq_balance_t declaration which assumes there is a cpu#1
typedef struct {
unsigned int cpu;
unsigned long timestamp;
} ____cacheline_aligned irq_balance_t;
static irq_balance_t irq_balance[NR_IRQS] __cacheline_aligned
= { [ 0 ... NR_IRQS-1 ] = { 1, 0 } };
against 2.5.21, test booted on UP(SMP) w/ IOAPIC and SMP
--- linux-2.5.19/arch/i386/kernel/io_apic.c.orig Fri Jun 14 17:43:20 2002
+++ linux-2.5.19/arch/i386/kernel/io_apic.c Sat Jun 15 10:07:11 2002
@@ -207,7 +207,7 @@
} ____cacheline_aligned irq_balance_t;
static irq_balance_t irq_balance[NR_IRQS] __cacheline_aligned
- = { [ 0 ... NR_IRQS-1 ] = { 1, 0 } };
+ = { [ 0 ... NR_IRQS-1 ] = { 0, 0 } };
extern unsigned long irq_affinity [NR_IRQS];
Linus, i promise this is the last one ;)
Regards,
Zwane Mwaikambo
-- http://function.linuxpower.ca- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:32 EST