[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


 


Rackspace

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