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

Re: [Xen-devel] [PATCH v3 0/2] xen/pci: Use APIC for MSIs when APIC virtualization is supported



On Mon, Nov 24, 2014 at 06:06:16PM -0500, Boris Ostrovsky wrote:
> Changes in v3:
> * Explicitly include asm/apic.h in arch/x86/pci/xen.c for !CONFIG_SMP.
> 
> Changes in v2:
> * New version of cpuid.h file from Xen tree (with a couple of style 
> adjustments)
> * Whitespace cleanup
> 
> Currently HVM guests handle MSI interrupts using pirqs/event channels, 
> allowing
> us to not issue APIC accesses that result in somewhat expensive VMEXITs. When
> hardware supports APIC virtualization we don't need to use pirqs anymore
> since now guest's APIC accesses can be handled by the processor itself.
> 
> There are two patches in this series:
> 
> 1. Move setting of x86_msi ops to a later point. The reason for doing so is 
> that
> we currently decide whether or not to use pirqs before kernel had a chance to
> see whether it should be using x2APIC instead of plain APIC. Since hardware 
> may
> virtualize either or both of those two we can only make pirqs vs. APIC 
> selection
> after kernel has settled down on which APIC version it will use. (Note that
> currently x2APIC is not used by HVM guests so technically this patch is not
> necessary. However, it probably makes sense to apply it now to avoid
> forgetting to do it when we enable x2APIC).
> 
> 2. Set x86_msi ops to use pirqs only when APIC virtualization is not 
> available.
> The commit message describes performance improvements that this change brings.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> 
> Boris Ostrovsky (2):
>   xen/pci: Defer initialization of MSI ops on HVM guests until after
>     x2APIC has been set up
>   xen/pci: Use APIC directly when APIC virtualization is supported by
>     hardware
> 
>  arch/x86/include/asm/xen/cpuid.h | 91 
> ++++++++++++++++++++++++++++++++++++++++
>  arch/x86/pci/xen.c               | 25 ++++++++++-
>  2 files changed, 114 insertions(+), 2 deletions(-)
>  create mode 100644 arch/x86/include/asm/xen/cpuid.h
> 
> -- 
> 1.9.3
> 

_______________________________________________
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®.