From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: brking@us.ibm.com, Greg KH <greg@kroah.com>,
Paul Mackerras <paulus@samba.org>,
Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] pci: Block config access during BIST
Date: Sun, 21 Nov 2004 09:32:01 +1100 [thread overview]
Message-ID: <1100989921.3795.15.camel@gaston> (raw)
In-Reply-To: <1100954543.11822.8.camel@localhost.localdomain>
On Sat, 2004-11-20 at 12:42 +0000, Alan Cox wrote:
> On Sad, 2004-11-20 at 07:09, Benjamin Herrenschmidt wrote:
> > Unfortunately, Alan, the cases where it matters aren't a driver with bad
> > locking or some something that can be fixed at the driver level. There
> > are already 2 uses of the above:
>
> That doesn't mean it is the right implementation. Most devices don't
> need
> this check so might as well have a fast path. You can at least reduce
> the cost by setting a flag on devices that potentially have this problem
> (or a PCI_ANY PCI_ANY quirk for platforms with it globally)
Oh, that's I agree (about the implentation beeing maybe sub-optimal),
especially the possibility to avoid the lock...
> > - The device he's working on, which sometimes need to trigger a BIST
> > (built-in self test). During this operation, the device stops responding
> > on the PCI bus, which can be sort-of fatal if anything (userland playing
> > with /sys/bus/pci/* for example) touches the config space.
>
> That will be fun given some laptop SMM touches config space.
None of the affected setups has something as broken-by-design as SMM
BIOSes :)
> > I would add: Config space accesses are slow anyways. They are even
> > horribly slow. They are worse than IO accesses. I _VERY_MUCH_ doubt that
> > a test of a variable member of pci_dev like the above would have any
> > noticeable impact here.
>
> Some of the Intel CPU's are very bad at lock handling so it is an issue.
Yah, we alraedy have a lock in the config space code, so I think the
solution here is to avoid the double locks by doing things a bit
differently.
> Also most PCI config accesses nowdays go to onboard devices whose
> behaviour may well be quite different to PCI anyway. PCI has become a
> device management API.
>
> I dislike the "Hey it sucks, lets make it suck more" approach when it
> seems easy to do the job well.
I don't understand your statements above.
Ben.
next prev parent reply other threads:[~2004-11-20 22:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-19 20:23 [PATCH 1/2] pci: Block config access during BIST brking
2004-11-19 21:32 ` Greg KH
2004-11-19 22:25 ` Brian King
2004-11-19 22:46 ` Benjamin Herrenschmidt
2004-11-19 23:22 ` Brian King
2004-11-20 0:23 ` Benjamin Herrenschmidt
2004-11-19 22:45 ` Benjamin Herrenschmidt
2004-11-20 2:27 ` Alan Cox
2004-11-20 7:09 ` Benjamin Herrenschmidt
2004-11-20 12:42 ` Alan Cox
2004-11-20 22:32 ` Benjamin Herrenschmidt [this message]
2004-11-20 23:38 ` Brian King
2004-11-21 0:06 ` Benjamin Herrenschmidt
2004-11-21 1:55 ` Brian King
2004-11-21 7:03 ` Benjamin Herrenschmidt
2004-11-21 17:22 ` Brian King
2004-12-03 15:26 ` Brian King
2004-11-24 11:49 ` Alan Cox
2004-11-25 22:00 ` Paul Mackerras
2004-11-25 21:11 ` Alan Cox
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=1100989921.3795.15.camel@gaston \
--to=benh@kernel.crashing.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=brking@us.ibm.com \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.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