[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 0/8] xen/arm: acpi: Support SPIs routing
Hi Julien, Sure, I'll test this patchset on Qualcomm Technologies QDF2XXX platform and update results. On 06/07/2016 11:48 AM, Julien Grall wrote: > Hi 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. > > I only tested briefly this patch series, Shanker can you give a try on > your hardware? > > A branch with all the patches can be found here: > > git://xenbits.xen.org/people/julieng/xen-unstable.git branch > irq-routing-acpi-rfc > > Yours sincerely, > > [1] http://lists.xenproject.org/archives/html/xen-devel/2016-05/msg02633.html > > Julien Grall (8): > xen/arm: gic: Consolidate the IRQ affinity set in a single place > xen/arm: gic: Do not configure affinity for guest IRQ 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 when ACPI is inuse > xen/arm: acpi: route all unused IRQs to DOM0 > > xen/arch/arm/domain_build.c | 19 ++++++++----------- > xen/arch/arm/gic-v2.c | 28 +++++++++++++--------------- > xen/arch/arm/gic-v3.c | 22 ++++++++++------------ > xen/arch/arm/gic.c | 34 ++++++++++++++++++++++------------ > xen/arch/arm/irq.c | 14 +++++++++++++- > xen/arch/arm/vgic.c | 34 ++++++++++++++++++++-------------- > xen/include/asm-arm/gic.h | 11 +++++++---- > xen/include/asm-arm/irq.h | 6 ++++++ > 8 files changed, 99 insertions(+), 69 deletions(-) > -- Shanker Donthineni Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |