[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/4] Add posted interrupt supporting
On Tue, Apr 09, 2013 at 02:01:27PM +0800, Yang Zhang wrote: > From: Yang Zhang <yang.z.zhang@xxxxxxxxx> > > The follwoing patches are adding the Posted Interrupt supporting to Xen: > Posted Interrupt allows vAPIC interrupts to inject into guest directly > without any vmexit. Is there a mechanism for the guest to figure out whether this is exported? Right now the Linux PVHVM guests will use the event channel mechanism (via the 0xf3 callback vector). This means that if we want to do IPIs (RESCHEDULE_VECTOR or CALL_FUNCTION_*) we end up doing a vmexit - but with this we should be able to do these inside the guest right? If so, is there a mechanism inside the guest to detect this and use the HVM mechanisms for IPI? It is mostly just the matter of not calling 'xen_hvm_smp_init' in the Linux kernel. > > - When delivering a interrupt to guest, if target vcpu is running, > update Posted-interrupt requests bitmap and send a notification event > to the vcpu. Then the vcpu will handle this interrupt automatically, > without any software involvemnt. > > - If target vcpu is not running or there already a notification event > pending in the vcpu, do nothing. The interrupt will be handled by > next vm entry > > Refer to Intel SDM vol3, 29.6 to get more information. > > Yang Zhang (4): > VMX: Detect posted interrupt capability > VMX: Turn on posted interrupt bit in vmcs > VMX: Add posted interrupt supporting > VMX: Use posted interrupt to deliver virutal interrupt > > xen/arch/x86/hvm/vioapic.c | 4 +- > xen/arch/x86/hvm/vlapic.c | 19 +++++- > xen/arch/x86/hvm/vmsi.c | 5 +- > xen/arch/x86/hvm/vmx/vmcs.c | 18 +++++- > xen/arch/x86/hvm/vmx/vmx.c | 81 > ++++++++++++++++++++++++ > xen/arch/x86/hvm/vmx/vpmu_core2.c | 5 +- > xen/arch/x86/hvm/vpt.c | 10 ++- > xen/include/asm-x86/hvm/hvm.h | 2 + > xen/include/asm-x86/hvm/vlapic.h | 1 + > xen/include/asm-x86/hvm/vmx/vmcs.h | 13 ++++ > xen/include/asm-x86/hvm/vmx/vmx.h | 22 +++++++ > xen/include/asm-x86/mach-default/irq_vectors.h | 3 +- > 12 files changed, 172 insertions(+), 11 deletions(-) > > > _______________________________________________ > 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 |