All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.