[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: "Magenheimer, Dan \(HP Labs Fort Collins\)" <dan.magenheimer@xxxxxx>
  • 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
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.