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

Re: [Xen-devel] [ PATCH 2/2] xen: enable Virtual-interrupt delivery


  • To: Keir Fraser <keir@xxxxxxx>, "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • From: "Li, Jiongxi" <jiongxi.li@xxxxxxxxx>
  • Date: Thu, 13 Sep 2012 10:12:49 +0000
  • Accept-language: en-US
  • Delivery-date: Thu, 13 Sep 2012 10:13:30 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: Ac2HWp7G2HqBx++QQP2kPrY5SPXyLgABHshJAPpQGPAANScdiAFexalA
  • Thread-topic: [Xen-devel] [ PATCH 2/2] xen: enable Virtual-interrupt delivery


> -----Original Message-----
> From: xen-devel-bounces@xxxxxxxxxxxxx
> [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Keir Fraser
> Sent: Thursday, September 06, 2012 6:47 PM
> To: Li, Jiongxi; xen-devel@xxxxxxxxxxxxx
> Subject: Re: [Xen-devel] [ PATCH 2/2] xen: enable Virtual-interrupt delivery
> 
> On 06/09/2012 11:00, "Li, Jiongxi" <jiongxi.li@xxxxxxxxx> wrote:
> 
> >>>  int hvm_local_events_need_delivery(struct vcpu *v) {
> >>> -    struct hvm_intack intack = hvm_vcpu_has_pending_irq(v);
> >>> +    struct hvm_intack intack;
> >>> +
> >>> +    pt_update_irq(v);
> >>
> >> Why would this change be needed for vAPIC?
> > When vcpu is scheduled out, there will be periodic timer interrupt
> > pending for injection. Every VMExit is a chance to inject the pending
> > periodic timer interrupt on vmx_intr_assist. In no virtual interrupt
> > delivery case, although injected timer interrupt is edge trigger, EOI
> > always induces VMExit, pending periodic timer can be kept injected
> > till there is no pending left. But in virtual interrupt delivery case,
> > only level trigger interrupt can induce VMExit, there is much less
> > chance for injecting pending timer interrupt through VMExit.
> > Adding pt_update_irq here is another code path to inject pending
> > periodic timer, but it can't guarantee every pending timer interrupt can be
> injected.
> > Another way is to make every EOI of pending timer interrupt induce
> > VMExit, but it may obey the spirit of virtual interrupt delivery - reducing
> VMExit.
> > We have been evaluating that.
> 
> Should cause EOI to induce VMExit only when there is more periodic timer work
> to be done? That would be better than this hack.
> 
Yes, in our new patch, we set eoi_exit_bitmap for periodic timer interrup to 
cause EOI-induced VM exit.
Please refer to patch v2
>  -- Keir
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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