From: Shanker Donthineni <shankerd@codeaurora.org>
To: Julien Grall <julien.grall@arm.com>, xen-devel@lists.xen.org
Cc: sstabellini@kernel.org, shannon.zhao@linaro.org,
wei.chen@arm.com, steve.capper@arm.com
Subject: Re: [RFC 0/8] xen/arm: acpi: Support SPIs routing
Date: Tue, 7 Jun 2016 13:50:26 -0500 [thread overview]
Message-ID: <57571772.5030806@codeaurora.org> (raw)
In-Reply-To: <1465318123-3090-1-git-send-email-julien.grall@arm.com>
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@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-06-07 18:50 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-07 16:48 [RFC 0/8] xen/arm: acpi: Support SPIs routing Julien Grall
2016-06-07 16:48 ` [RFC 1/8] xen/arm: gic: Consolidate the IRQ affinity set in a single place Julien Grall
2016-06-22 10:46 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 2/8] xen/arm: gic: Do not configure affinity for guest IRQ during routing Julien Grall
2016-06-22 10:54 ` Stefano Stabellini
2016-06-22 11:19 ` Julien Grall
2016-06-07 16:48 ` [RFC 3/8] xen/arm: gic: split set_irq_properties Julien Grall
2016-06-22 10:58 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 4/8] xen/arm: gic: set_type: Pass the type in parameter rather than in desc->arch.type Julien Grall
2016-06-22 11:25 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 5/8] xen/arm: gic: Document how gic_set_irq_type should be called Julien Grall
2016-06-22 11:00 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 6/8] Revert "xen/arm: warn the user that we cannot route SPIs to Dom0 on ACPI" Julien Grall
2016-06-22 11:01 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 7/8] xen/arm: Allow DOM0 to set the irq type when ACPI is inuse Julien Grall
2016-06-22 11:23 ` Stefano Stabellini
2016-06-22 11:46 ` Julien Grall
2016-06-22 11:49 ` Stefano Stabellini
2016-06-07 16:48 ` [RFC 8/8] xen/arm: acpi: route all unused IRQs to DOM0 Julien Grall
2016-06-22 11:44 ` Stefano Stabellini
2016-06-22 12:19 ` Julien Grall
2016-06-07 18:50 ` Shanker Donthineni [this message]
2016-06-08 11:48 ` [RFC 0/8] xen/arm: acpi: Support SPIs routing Shanker Donthineni
2016-06-08 11:49 ` Julien Grall
2016-06-08 12:11 ` Shanker Donthineni
2016-06-08 12:34 ` Julien Grall
2016-06-13 11:42 ` Julien Grall
2016-06-13 17:19 ` Shanker Donthineni
2016-06-13 17:20 ` Julien Grall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57571772.5030806@codeaurora.org \
--to=shankerd@codeaurora.org \
--cc=julien.grall@arm.com \
--cc=shannon.zhao@linaro.org \
--cc=sstabellini@kernel.org \
--cc=steve.capper@arm.com \
--cc=wei.chen@arm.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).