WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH] x86: change IO-APIC ack method default for single IO-APIC systems
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Wed, 21 Jan 2009 14:21:46 +0000
Delivery-date: Wed, 21 Jan 2009 06:21:48 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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