From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Jason Andryuk <jason.andryuk@amd.com>,
Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: Re: [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable handlers
Date: Tue, 21 Oct 2025 10:48:57 +0100 [thread overview]
Message-ID: <aPdXCTvrcUHv2uQM@Mac.lan> (raw)
In-Reply-To: <3cfa136c-3689-4d47-8a69-ce7af12ed9d0@suse.com>
On Mon, Oct 20, 2025 at 04:16:13PM +0200, Jan Beulich wrote:
> A .disable handler can't typically be re-used for .ack: The latter needs
> to deal with IRQ migration, while the former shouldn't. Furthermore
> invoking just irq_complete_move() isn't enough; one of
> move_{native,masked}_irq() also need invoking.
>
> Fixes: 487a1cffd71a ("x86: Implement per-cpu vector for xen hypervisor")
> Fixes: f821102450a1 ("x86: IRQ Migration logic enhancement")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -428,8 +428,6 @@ static void cf_check iommu_msi_mask(stru
> unsigned long flags;
> struct amd_iommu *iommu = desc->action->dev_id;
>
> - irq_complete_move(desc);
> -
> spin_lock_irqsave(&iommu->lock, flags);
> amd_iommu_msi_enable(iommu, IOMMU_CONTROL_DISABLED);
> spin_unlock_irqrestore(&iommu->lock, flags);
> @@ -442,6 +440,13 @@ static unsigned int cf_check iommu_msi_s
> return 0;
> }
>
> +static void cf_check iommu_msi_ack(struct irq_desc *desc)
> +{
> + irq_complete_move(desc);
> + iommu_msi_mask(desc);
> + move_masked_irq(desc);
Not sure it matters much, as I don't expect IOMMU interrupts to move
around frequently, but do we really need to mask the source? The
update of the interrupt would be done atomically, as we know IOMMU is
available. Anyway this can be done later, so:
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Thanks, Roger.
next prev parent reply other threads:[~2025-10-21 9:49 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-20 14:16 [PATCH for-4.21?] AMD/IOMMU: unshare IRQ .ack and .disable handlers Jan Beulich
2025-10-20 15:02 ` Andrew Cooper
2025-10-21 9:48 ` Roger Pau Monné [this message]
2025-10-21 9:59 ` Jan Beulich
2025-10-21 10:02 ` Jan Beulich
2025-10-21 10:43 ` Oleksii Kurochko
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=aPdXCTvrcUHv2uQM@Mac.lan \
--to=roger.pau@citrix.com \
--cc=andrew.cooper3@citrix.com \
--cc=jason.andryuk@amd.com \
--cc=jbeulich@suse.com \
--cc=oleksii.kurochko@gmail.com \
--cc=xen-devel@lists.xenproject.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).