[PATCH][2.5] 2.5.21 deadlocks on UP (SMP kernel) w/ IOAPIC (take 2)

From: Zwane Mwaikambo (zwane@linux.realnet.co.sz)
Date: Sat Jun 15 2002 - 02:46:30 EST


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