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

Re: [Xen-devel] RE: event delay issue on SMP machine when xen0 is SMPena

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Subject: Re: [Xen-devel] RE: event delay issue on SMP machine when xen0 is SMPenabled
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Sat, 10 Dec 2005 14:24:28 +0000
Cc: "Li, Xin B" <xin.b.li@xxxxxxxxx>, Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>, Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
Delivery-date: Sat, 10 Dec 2005 14:20:52 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <571ACEFD467F7749BC50E0A98C17CDD802C06A80@pdsmsx403>
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>
References: <571ACEFD467F7749BC50E0A98C17CDD802C06A80@pdsmsx403>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 9 Dec 2005, at 08:59, Tian, Kevin wrote:

I have a question on the following function, why l1 is updated only one
time, while l2 is updated in each loop? I think they should handle in
the same way. Anyway, in current code, l2 &= ~(1UL << l2i); is not
needed.

Does that mean in the middle of processing l2, some bits previously active may become inactive due to unmasked by other vcpus? So conservative check in each loop may be necessary. ;-)

You can reenter evtchn_do_upcall() on the same CPU from within an IRQ handler that does not specify SA_INTERRUPT. It will then handle all the pending l2's and the saved l2 in your outer stack activation is now stale. You then end up double-executing IRQs occasionally which I think we found to be a bad thing in a few cases.

 -- Keir


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

<Prev in Thread] Current Thread [Next in Thread>