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] fooey. no interrupts.

To: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] fooey. no interrupts.
From: ron minnich <rminnich@xxxxxxxx>
Date: Mon, 9 Aug 2004 21:24:44 -0600 (MDT)
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 10 Aug 2004 04:47:29 +0100
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: <E1BuJcu-0000tS-00@xxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
On Tue, 10 Aug 2004, Keir Fraser wrote:

> For a particular event channel @e to fire you an async callback, you
> need:
>  1. The original value of bit @e in evtchn_pending[] must be zero.
>  2. The value of bit @e in evtchn_mask[] must be zero.

Is there a race condition here? Let's pretend this is the 10ms interrupt
        @e gets set in evtchn_pending
        @e in evtchn_mask is set (not zero) because it is still masked
                as Plan is still in the interrupt printing lots of info 
                for me. 

>From my reading of this, if your interrupt handler takes more than 10 ms, 
then you'll never get another timer interrupt @e, since the evtchn_pending 
is now 1. Is there any way in which a callback for timer ints will occur 
if @e in evtchn_pending was set and the mask is now zero? I can't see it.

>  3. The original value of bit (@e>>5) in evtchn_pending_sel must be zero.

OK, this I can see. 

>  4. The original value of vcpu_data[0].evtchn_upcall_pending must be zero.
>  5. The value of vcpu_data[0].evtchn_upcall_mask must be zero.

OK, this I don't totally see. From the code I posted before, it seems to 
me only the first three conditions matter. 

Thanks!

ron

-- 
LANL CCS-1 email flavor:
***** Correspondence   []
***** DUSA LACSI-HW    [ ]
***** DUSA LACSI-OS    [x ]
***** DUSA LACSI-CS    [ ]




-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel