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

Re: [Xen-devel] [PATCH v3 0/9] xen/arm: Support SPIs routing



Committed, thank you.

On Wed, 27 Jul 2016, Julien Grall wrote:
> Hello all,
> 
> Currently, Xen does not route SPIs to DOM0 when ACPI is inuse after
> the functionality has been reverted in Xen 4.7 by commit 909bd14.
> 
> In the previous approach, the SPIs was routed when DOM0 was writing into
> ISENABLER. However, this has resulted to deadlock (see more details in [1])
> as soon as the IRQ was enabled by DOM0.
> 
> We have multiple solutions to route the IRQ:
>     1) Rework route_irq_to_guest to avoid the deadlock
>     2) Route and enable the IRQ outside of the emulation of ISENABLER
>     3) Remove the dependency on the IRQ type in the routing function
>     and route all the unused IRQs during domain building
>     4) Add a new hypercall to let DOM0 routing the IRQ
> 
> I think that 1) and 2) are not resilient because route_irq_to_guest may fail
> and there is no way to report this error to the guest (except by killing it).
> 
> Furthermore, in solution 2) enabling the interrupt would need to be defer
> until the routing has been done. This would require a lot of code duplication.
> 
> Which leave solution 3) and 4). The solution 4) requires to introduce a new
> (or re-use one) stable hypercall. I am not sure why we ruled out this
> solution when we reviewed the ACPI design document.
> 
> This patch series is implementing the 3rd solution which defer the IRQ
> type configuration for DOM0 IRQ when ACPI is inuse. However, this will
> slightly increase the memory usage of Xen (54KB).
> 
> I am happy to consider any other solutions.
> 
> This series has been tested with ACPI by Shanker on QDF2XXXX server and
> I tested it on Juno r2 with DT.
> 
> A branch with all the patches can be found here:
> 
> git://xenbits.xen.org/people/julieng/xen-unstable.git branch 
> irq-routing-acpi-v3
> 
> All the patches but #7 have been reviewed/acked by Stefano.
> 
> Yours sincerely,
> 
> [1] http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02633.html
> 
> Julien Grall (9):
>   xen/arm: gic: Consolidate the IRQ affinity set in a single place
>   xen/arm: gic: Do not configure affinity during routing
>   xen/arm: gic: split set_irq_properties
>   xen/arm: gic: set_type: Pass the type in parameter rather than in
>     desc->arch.type
>   xen/arm: gic: Document how gic_set_irq_type should be called
>   Revert "xen/arm: warn the user that we cannot route SPIs to Dom0 on
>     ACPI"
>   xen/arm: Allow DOM0 to set the IRQ type
>   xen/arm: acpi: route all unused IRQs to DOM0
>   xen/arm: Fix coding style and update comment in acpi_route_spis
> 
>  xen/arch/arm/domain_build.c | 33 +++++++++++++++------------------
>  xen/arch/arm/gic-v2.c       | 28 +++++++++++++---------------
>  xen/arch/arm/gic-v3.c       | 22 ++++++++++------------
>  xen/arch/arm/gic.c          | 36 ++++++++++++++++++++++--------------
>  xen/arch/arm/irq.c          | 17 ++++++++++++++---
>  xen/arch/arm/vgic.c         | 37 +++++++++++++++++++++++--------------
>  xen/include/asm-arm/gic.h   | 14 ++++++++------
>  xen/include/asm-arm/irq.h   |  6 ++++++
>  8 files changed, 111 insertions(+), 82 deletions(-)
> 
> -- 
> 1.9.1
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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