[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |