From: Benjamin Block <lkml@mageta.org>
To: Keith Busch <kbusch@kernel.org>
Cc: Benjamin Block <bblock@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Niklas Schnelle <schnelle@linux.ibm.com>,
Farhan Ali <alifm@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>,
linux-s390 <linux-s390@vger.kernel.org>,
Andreas Krebbel <krebbel@linux.ibm.com>,
Julian Ruess <julianr@linux.ibm.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Gerd Bayer <gbayer@linux.ibm.com>,
linux-pci <linux-pci@vger.kernel.org>,
Tobias Schumacher <ts@linux.ibm.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Ionut Nechita <ionut.nechita@windriver.com>,
Ionut Nechita <ionut_n2001@yahoo.com>
Subject: Re: [PATCH 1/4] PCI: Move declaration of pci_rescan_remove_lock into public pci.h
Date: Fri, 6 Mar 2026 19:01:49 +0100 [thread overview]
Message-ID: <20260306180149.GD762467@chlorum.ategam.org> (raw)
In-Reply-To: <aasPgZkgCmW5kZgV@kbusch-mbp>
On Fri, Mar 06, 2026 at 10:31:45AM -0700, Keith Busch wrote:
> On Fri, Mar 06, 2026 at 05:49:13PM +0100, Benjamin Block wrote:
> > So far it is possible to use and call the functions
> > pci_lock_rescan_remove() and pci_unlock_rescan_remove() from any PCI
> > code, including modules and architecture code; but the lock
> > `pci_rescan_remove_lock` itself is private to objects residing in
> > `drivers/pci/` via the header `drivers/pci/pci.h`.
> >
> > With that setup it is not possible to use lockdep annotations such as
> > lockdep_assert_held(), or sparse annotations such as __must_hold() in
> > modules or architecture code for PCI.
> >
> > Since it is useful for `pci_rescan_remove_lock` to have such
> > annotations, move the variable declaration into `include/linux/pci.h`.
>
> This big lock for pci scanning is way to easy to misuse to create
> deadlocks, many of which still exist today,
I can fully appreciate that, having had to deal with bug reports that
stem from it's use for several months at this point.
> so I'm not sure making it easier to access is the right direction.
The thing is, I really would love to be able to annotate our
architecture code where appropriate, and I didn't see any other option.
Explicit annotations in the code highlight far better than putting a
comment in the function/-header.
--
Best Regards und Beste Grüße, Benjamin Block
PGP KeyID: 9610 2BB8 2E17 6F65 2362 6DF2 46E0 4E05 67A3 2E9E
next prev parent reply other threads:[~2026-03-06 18:02 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-06 16:49 [PATCH 0/4] PCI: s390/pci: Fix deadlocks on s390 when releasing zPCI-bus or -device objects Benjamin Block
2026-03-06 16:49 ` [PATCH 1/4] PCI: Move declaration of pci_rescan_remove_lock into public pci.h Benjamin Block
2026-03-06 17:31 ` Keith Busch
2026-03-06 18:01 ` Benjamin Block [this message]
2026-03-06 16:49 ` [PATCH 2/4] s390/pci: Fix circular/recursive deadlocks in PCI-bus and -device release Benjamin Block
2026-03-06 16:49 ` [PATCH 3/4] PCI: Provide lock guard for pci_rescan_remove_lock Benjamin Block
2026-03-06 16:49 ` [PATCH 4/4] s390/pci: Use " Benjamin Block
2026-03-09 7:38 ` Ilpo Järvinen
2026-03-09 10:54 ` Benjamin Block
2026-03-09 15:49 ` Niklas Schnelle
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=20260306180149.GD762467@chlorum.ategam.org \
--to=lkml@mageta.org \
--cc=agordeev@linux.ibm.com \
--cc=alifm@linux.ibm.com \
--cc=bblock@linux.ibm.com \
--cc=bhelgaas@google.com \
--cc=borntraeger@linux.ibm.com \
--cc=gbayer@linux.ibm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=ionut.nechita@windriver.com \
--cc=ionut_n2001@yahoo.com \
--cc=julianr@linux.ibm.com \
--cc=kbusch@kernel.org \
--cc=krebbel@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=schnelle@linux.ibm.com \
--cc=svens@linux.ibm.com \
--cc=ts@linux.ibm.com \
/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.