[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] x86: change IO-APIC ack method default for single IO-APIC systems



Ever since 3.0.2 we've been carrying this patch in our products. Since
there was no indication that there would be anything wrong with the
'new' IO-APIC ack method added back then, we finally decided to drop
this patch recently from SLE11, to find that the subsequent release
candidate failed to work on at least on system without using
"ioapic_ack=old". With that knowledge I think it is now reasonable to
include that patch in -unstable, as the introduction of the 'new' ack
method was only to address issues with certain chipsets silently
setting up alternative IRQ routes when RTEs in secondary IO-APICs got
masked.

Here some data on the hardware the issue was reportedly found on:
* intel DQ965CO motherboard (i82Q965 chipset)
* intel 82566DM NIC
* intel ICH8R (82801H)
* Marvell 88SE6101 IDE controller
* nVidia 8600GT graphics
* intel Q6600 CPU
* 8GB RAM

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

--- 2009-01-08.orig/xen/arch/x86/io_apic.c      2009-01-09 12:43:35.000000000 
+0100
+++ 2009-01-08/xen/arch/x86/io_apic.c   2009-01-21 14:11:53.000000000 +0100
@@ -1352,7 +1352,7 @@ static unsigned int startup_level_ioapic
     return 0; /* don't check for pending */
 }
 
-int ioapic_ack_new = 1;
+int ioapic_ack_new = -1;
 static void setup_ioapic_ack(char *s)
 {
     if ( !strcmp(s, "old") )
@@ -1839,6 +1839,8 @@ void __init setup_IO_APIC(void)
     else
         io_apic_irqs = ~PIC_IRQS;
 
+    if (ioapic_ack_new < 0)
+        ioapic_ack_new = (nr_ioapics > 1);
     printk("ENABLING IO-APIC IRQs\n");
     printk(" -> Using %s ACK method\n", ioapic_ack_new ? "new" : "old");
 




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.