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/
Home Products Support Community News


[Xen-devel] [PATCH][FIX] Possible fix for spurious interrupts

To: xen-devel Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH][FIX] Possible fix for spurious interrupts
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 13 Apr 2006 19:12:04 +0100
Cc: Michele <vo.sinh@xxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx>
Delivery-date: Thu, 13 Apr 2006 11:11:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

Here is a patch that appears to fix the spurious interrupt problems for me. This is inspired by Jan's observation that the IO-APIC mask/unmask that we do for ISR processing seems to cause corruption of other routing entries. So the fix here is to do the same as native Linux -- do not mask/unmask, but instead send EOI after doing ISR processing.

To confirm this really was the problem I modified native Linux to do the same as Xen currently does (mask before ISR processing; unmask after). I then got lots of spurious USB interrupts even on native Linux! :-(

Please test... I'll put it in xen-unstable tomorrow if there are no complaints and it will be a strong candidate for the next 3.0.2 release too.

 -- Keir

Attachment: ioapic.patch
Description: Binary data

Xen-devel mailing list