All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Roger Pau Monné" <roger@xenproject.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Teddy Astie <teddy.astie@vates.tech>,
	Julian Vetter <julian.vetter@vates.tech>
Subject: Re: [PATCH 2/6] x86/pass-through: no locking around pt_irq_{create,destroy}_bind()
Date: Fri, 25 Sep 2026 16:53:02 +0200	[thread overview]
Message-ID: <araKzmNyBCGWidBt@macbook.local> (raw)
In-Reply-To: <cc7da531-958b-4b03-9c0e-514d77ebb366@suse.com>

On Thu, Sep 24, 2026 at 11:57:19AM +0200, Jan Beulich wrote:
> On 23.09.2026 12:37, Roger Pau Monné wrote:
> > On Tue, Sep 08, 2026 at 03:01:51PM +0200, Jan Beulich wrote:
> >> The questionable use of pcidevs_lock() there was discussed more than once.
> >> It really is pointless: The functions synchronize primarily via the per-
> >> domain event lock. They also may already be called with the global PCI
> >> devices lock not held: See hvm/vmsi.c:vpci_msi_update(),
> >> hvm/vmsi.c:vpci_msi_arch_update(), and hvm/vmsi.c:vpci_msi_disable().
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> --- a/xen/arch/x86/domctl.c
> >> +++ b/xen/arch/x86/domctl.c
> >> @@ -636,10 +636,7 @@ long arch_do_domctl(
> >>              ret = -EPERM;
> >>          else if ( is_iommu_enabled(d) )
> >>          {
> >> -            pcidevs_lock();
> >>              ret = pt_irq_create_bind(d, bind);
> >> -            pcidevs_unlock();
> > 
> > pt_irq_create_bind() might call into msixtbl_pt_register() which
> > requires either the pcidevs_lock() or the per-domain d->pci_lock lock
> > to be taken, which I think is not the case in the context here?
> 
> Hmm, indeed. Not having seen the assertion there trigger kind of worries
> me a little. Do you agree that the change to vioapic_hwdom_map_gsi() can,
> otoh, be left as is?

Hm, I'm borderline on that one - I can't find a path where d->pci_lock
will be needed for legacy PCI interrupt binding, yet at the same time
I feel it would be better if the locking context is uniform across
call sites.  I guess I'm fine with the asymmetric locking context if
that's your preference.  Maybe worth a mention in a comment somewhere.

> In turn I will then extend patch 3 to also tighten the assertions in
> msixtbl_pt_{,un}register(), as each of them has only this one call site.
> Would you mind indicating whether in doing so I may retain you A-b there?

Please keep the A-b there.

Thanks, Roger.


  reply	other threads:[~2026-09-25 14:53 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-08 13:00 [PATCH 0/6] x86: pass-through / {,v}PCI locking Jan Beulich
2026-09-08 13:01 ` [PATCH 1/6] x86/pass-through: defer event unlock in pt_irq_create_bind() Jan Beulich
2026-09-22 13:37   ` Roger Pau Monné
2026-09-22 14:59     ` Jan Beulich
2026-09-08 13:01 ` [PATCH 2/6] x86/pass-through: no locking around pt_irq_{create,destroy}_bind() Jan Beulich
2026-09-23 10:37   ` Roger Pau Monné
2026-09-24  9:57     ` Jan Beulich
2026-09-25 14:53       ` Roger Pau Monné [this message]
2026-09-28 12:50         ` Jan Beulich
2026-09-29  9:31           ` Roger Pau Monné
2026-09-08 13:02 ` [PATCH 3/6] x86/vPCI: tighten locking assertions Jan Beulich
2026-09-24  9:02   ` Roger Pau Monné
2026-09-08 13:03 ` [PATCH 4/6] vPCI: drop bogus locking assertion Jan Beulich
2026-09-24  9:28   ` Roger Pau Monné
2026-09-08 13:03 ` [PATCH 5/6] x86/pass-through: use simpler locking primitives in pt_irq_{create,destroy}_bind() Jan Beulich
2026-09-25 16:14   ` Roger Pau Monné
2026-09-08 13:04 ` [PATCH 6/6] x86/HVM: drop vector parameter from .pi_update_irte() hook Jan Beulich
2026-09-25 16:15   ` Roger Pau Monné

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=araKzmNyBCGWidBt@macbook.local \
    --to=roger@xenproject.org \
    --cc=andrew.cooper3@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julian.vetter@vates.tech \
    --cc=teddy.astie@vates.tech \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.