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-ia64-devel

RE: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF

To: "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>
Subject: RE: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Tue, 20 Sep 2005 09:01:08 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 20 Sep 2005 00:58:44 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcW4ZfOzzchRRTCPTFuQnRhZtvFcDwADcXEgAAKwUYAACZFncAAB1poAABrDDSAABg+TcAAau19QAAO834AAEcfo8AAMivGQAA1I17AAsvIwEAAJ/qEAAAx6/dA=
Thread-topic: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF
>From: Magenheimer, Dan (HP Labs Fort Collins) [mailto:dan.magenheimer@xxxxxx]
>Sent: 2005年9月20日 3:00
>
>> diff -r 55bc6698c889 xen/arch/ia64/xen/vcpu.c
>> @@ -631,6 +632,16 @@
>>  {
>>      UINT64 *p, *q, *r, bits, bitnum, mask, i, vector;
>>
>> +    /* Always check pending event, since guest may just ack the
>> +     * event injection without handle. Later guest may throw out
>> +     * the event itself.
>> +     */
>> +    if (event_pending(vcpu) &&
>> +            !test_bit(vcpu->vcpu_info->arch.evtchn_vector,
>> +                    &PSCBX(vcpu, insvc[0])))
>> +            test_and_set_bit(vcpu->vcpu_info->arch.evtchn_vector,
>> +                    &PSCBX(vcpu, irr[0]));
>> +
>>      p = &PSCBX(vcpu,irr[3]);
>>      /* q = &PSCB(vcpu,delivery_mask[3]); */
>>      r = &PSCBX(vcpu,insvc[3]);
>
>Why is the line that sets the irr bit calling
>test_and_set_bit() rather than just set_bit()?
>Even better, why not call vcpu_pend_interrupt()
>which also sets the pending_interruption flag?

Yes. Last night I just pushed for a quick test, and so may not use the most 
appropriate interface here.

>
>Also, why does the irr bit get set only if insvc is
>not set?  Isn't it possible to pend one interrupt
>while another is in-service?

Ideally your suggestion is also what I did in the start. But since I saw nested 
event injection when "xend start", I then adopted relative conservative 
approach to try whether solving the issue. But still not work yet. ;-(

Thanks,
Kevin

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

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