[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/4] Add posted interrupt supporting
Konrad Rzeszutek Wilk wrote on 2013-04-10: > 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? Expose it to guest? No. > > 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? I am not familiar with PV staffs. Will event channel mechanism touch vAPIC? If no, perhaps the answer is not. > > If so, is there a mechanism inside the guest to detect this and > use the HVM mechanisms for IPI? Why guest should aware of this? Current implementation already covers the vIPI. > > 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 >> Best regards, Yang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |