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] NMI deferral on i386

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] NMI deferral on i386
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Tue, 15 May 2007 16:46:00 +0200
Delivery-date: Tue, 15 May 2007 07:43:39 -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
Looking at cloning this logic to more properly support MCE, I see two issues
with this code:

- by using iret, the NMI is being acknowledged to the CPU, and since nothing
  was done to address its reason, I can't see why it shouldn't re-trigger right
  after that iret (unless it was sent as an IPI)
- by re-issuing it on vector 31, the resulting interrupt will have lower 
  than any external interrupt, hence all pending interrupts will be serviced
  before getting to actually handle the NMI; ideally this should use the highest
  possible vector, but since priorities are grouped anyway, at least allocating
  the vector from the high priority pool would seem necessary

Thanks, Jan

Xen-devel mailing list