From: Arjan van de Ven <arjan@infradead.org>
To: Jeff Garzik <jeff@garzik.org>
Cc: linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
gregkh@suse.de, inux-pci@atrey.karlin.mff.cuni.cz,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Martin Mares <mj@ucw.cz>, Matthew Wilcox <matthew@wil.cx>
Subject: Re: [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in
Date: Thu, 27 Dec 2007 06:09:13 -0800 [thread overview]
Message-ID: <20071227060913.56173f74@laptopd505.fenrus.org> (raw)
In-Reply-To: <47739203.3060809@garzik.org>
On Thu, 27 Dec 2007 06:52:35 -0500
Jeff Garzik <jeff@garzik.org> wrote:
> Arjan van de Ven wrote:
> > This patch also adds a sysfs property for each device into which
> > root can write a '1' to enable extended configuration space. The
> > kernel will print a notice into dmesg when this happens (including
> > the name of the app) so that if the system crashes as a result of
> > this action, the user can know what action/tool caused it.
>
>
> Comments:
>
> 1) [minor] With a bit in struct pci_dev,
I have this
> there is no need for
> separate raw_pci_ops. That will simplify your patch, with no
> functionality change.
but sadly your second statement is not correct. Part of the complication is that all PCI config ops
operate on busses not devices; at first I thought "just add a bit and be done with it", but sadly it's
not quite the case. Due to the per-bus nature of the ops, you end up having 2 type of bus operations,
and that's just boilerplate (prototypes, exports and stuff) but it makes up most of the lines of the patch
In addition, a separate raw_pci_ops (for x86 only!) is needed anyway since it's quite likely that
we'll have various options of each case (extended or not) and we want to pick the best one for each case,
at which point you really do need the 2 variables.
>
> "golden" arches (no pun intended) may implement raw_pci_ops that
> _always_ work with extended config space, and simply ignore that bit,
> if that is how their underlying non-mmconfig-nor-type1 hardware is
> implemented.
that is what I implemented already in the patch that you commented on ;-)
>
>
> 2) [non-minor] hmmmm.
>
> [jgarzik@core ~]$ lspci -n | wc -l
> 23
>
> So I would have to perform 23 sysfs twiddles, before I could obtain a
> full and unabridged 'lspci -vvvxxx'?
not you as human, but "lspci" ought to yes.
>
> For the userspace interface, the most-often-used knob for diagnostic
> purposes will be the easiest one. And that's
the easiest one is an option to lspci. Nothing more nothing less.
Making a global knob in kernel space is a lot more tricky, and in addition
really there's enough cases where userspace wants the one device anyway
Doing the "for each device I'm about to dump" in lspci is pretty much as hard as doing
the global one (if not simpler)
>
> 3) [minor] architectures must be able to override
> pci_enable_ext_config(). see "golden arches".
see the patch. All pci_enable_ext_config() does is set a flag.
The architecture decides what to do with that flag. Golden
architectures can just totally ignore the flag and always expose
the full space.
(In fact, the patch assumes all-but-x86 to be golden here; which is fair)
--
If you want to reach me at my work email, use arjan@linux.intel.com
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
next prev parent reply other threads:[~2007-12-27 14:11 UTC|newest]
Thread overview: 156+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-25 11:26 Arjan van de Ven
2007-12-27 11:52 ` Jeff Garzik
2007-12-27 14:09 ` Arjan van de Ven [this message]
2007-12-27 17:52 ` Linus Torvalds
2008-01-11 19:02 ` Greg KH
2008-01-11 19:09 ` Arjan van de Ven
2008-01-11 19:14 ` Greg KH
2008-01-11 19:28 ` Matthew Wilcox
2008-01-11 19:40 ` Arjan van de Ven
2008-01-11 19:45 ` Greg KH
2008-01-11 19:49 ` Matthew Wilcox
2008-01-11 19:58 ` Linus Torvalds
2008-01-11 20:17 ` Matthew Wilcox
2008-01-11 20:27 ` Linus Torvalds
2008-01-11 20:42 ` Matthew Wilcox
2008-01-11 21:12 ` Linus Torvalds
2008-01-11 21:17 ` Matthew Wilcox
2008-01-11 21:28 ` Linus Torvalds
2008-01-11 21:38 ` Matthew Wilcox
2008-01-11 23:58 ` Ivan Kokshaysky
2008-01-12 0:17 ` Jesse Barnes
2008-01-12 0:26 ` Greg KH
2008-01-12 14:40 ` Ivan Kokshaysky
2008-01-12 15:46 ` Arjan van de Ven
2008-01-12 16:23 ` Ivan Kokshaysky
2008-01-12 17:45 ` Arjan van de Ven
2008-01-12 18:17 ` Matthew Wilcox
2008-01-12 21:49 ` Ivan Kokshaysky
2008-01-12 23:01 ` Arjan van de Ven
2008-01-13 0:12 ` Tony Camuso
2008-01-13 0:40 ` Arjan van de Ven
2008-01-13 1:36 ` Tony Camuso
2008-01-13 4:42 ` Arjan van de Ven
2008-01-13 4:47 ` Matthew Wilcox
2008-01-13 6:43 ` Jeff Garzik
2008-01-13 12:43 ` Tony Camuso
2008-01-13 17:03 ` Arjan van de Ven
2008-01-13 21:28 ` Tony Camuso
2008-01-14 0:54 ` Alan Cox
2008-01-14 1:33 ` Arjan van de Ven
2008-01-14 3:29 ` Tony Camuso
2008-01-14 5:05 ` Arjan van de Ven
2008-01-14 13:01 ` Tony Camuso
2008-01-14 14:46 ` Arjan van de Ven
2008-01-14 15:23 ` Tony Camuso
2008-01-14 16:01 ` Arjan van de Ven
2008-01-14 16:08 ` Tony Camuso
2008-01-14 9:11 ` Alan Cox
2008-01-14 5:20 ` Linus Torvalds
2008-01-13 18:23 ` Loic Prylli
2008-01-13 18:41 ` Arjan van de Ven
2008-01-13 20:43 ` Matthew Wilcox
2008-01-13 21:18 ` Loic Prylli
2008-01-13 20:51 ` Loic Prylli
2008-01-13 7:08 ` Benjamin Herrenschmidt
2008-01-13 7:24 ` Matthew Wilcox
2008-01-13 7:58 ` Matthew Wilcox
2008-01-13 17:01 ` Arjan van de Ven
2008-01-14 22:52 ` Matthew Wilcox
2008-01-14 23:04 ` Adrian Bunk
2008-01-15 16:00 ` Loic Prylli
2008-01-15 17:46 ` Greg KH
2008-01-15 17:56 ` Matthew Wilcox
2008-01-15 19:27 ` Tony Camuso
2008-01-15 19:38 ` Linus Torvalds
2008-01-15 19:40 ` Matthew Wilcox
2008-01-15 22:12 ` Loic Prylli
2008-01-19 16:58 ` Grant Grundler
2008-01-28 18:32 ` Tony Camuso
2008-01-28 20:44 ` Greg KH
2008-01-28 22:31 ` Matthew Wilcox
2008-01-28 22:53 ` Greg KH
2008-01-29 2:56 ` Matthew Wilcox
2008-01-29 2:57 ` PCI x86: always use conf1 to access config space below 256 bytes Matthew Wilcox
2008-01-29 13:21 ` Greg KH
2008-01-29 23:43 ` Matthew Wilcox
2008-01-30 0:04 ` Linus Torvalds
2008-01-29 3:03 ` [PATCH] Change pci_raw_ops to pci_raw_read/write Matthew Wilcox
2008-02-03 7:30 ` Yinghai Lu
2008-02-07 15:54 ` Tony Camuso
2008-02-07 16:28 ` Arjan van de Ven
2008-02-07 16:36 ` Tony Camuso
2008-02-08 2:28 ` Grant Grundler
2008-02-09 12:41 ` Matthew Wilcox
2008-02-10 6:25 ` Yinghai Lu
2008-02-10 7:21 ` Greg KH
2008-02-10 14:51 ` Matthew Wilcox
2008-02-10 19:13 ` Grant Grundler
2008-02-10 19:37 ` Matthew Wilcox
2008-02-10 20:16 ` Yinghai Lu
2008-02-10 20:19 ` Matthew Wilcox
2008-02-10 20:25 ` Yinghai Lu
2008-02-10 20:32 ` Matthew Wilcox
2008-02-10 20:47 ` Yinghai Lu
2008-02-10 20:24 ` Linus Torvalds
2008-02-10 20:45 ` Matthew Wilcox
2008-02-10 23:02 ` raw_pci_read in quirk_intel_irqbalance Matthew Wilcox
2008-02-11 5:04 ` Matthew Wilcox
2008-02-11 7:49 ` Grant Grundler
2008-02-11 16:15 ` Matthew Wilcox
2008-02-11 17:18 ` Linus Torvalds
2008-02-11 19:38 ` Grant Grundler
2008-02-11 1:49 ` [PATCH] Change pci_raw_ops to pci_raw_read/write Yinghai Lu
2008-02-11 2:53 ` Robert Hancock
2008-02-11 5:59 ` Yinghai Lu
2008-02-11 22:10 ` Andrew Morton
2008-02-11 22:38 ` Ingo Molnar
2008-01-29 3:05 ` [Patch v2] Make PCI extended config space (MMCONFIG) a driver opt-in Arjan van de Ven
2008-01-29 3:18 ` Matthew Wilcox
2008-01-29 13:19 ` Greg KH
2008-01-29 14:15 ` Tony Camuso
2008-01-29 14:47 ` Arjan van de Ven
2008-01-29 15:15 ` Tony Camuso
2008-01-29 15:29 ` Arjan van de Ven
2008-01-29 16:26 ` Tony Camuso
2008-01-29 23:57 ` Matthew Wilcox
2008-01-30 2:30 ` Tony Camuso
2008-01-30 3:45 ` Matthew Wilcox
2008-01-30 15:15 ` Ivan Kokshaysky
2008-01-30 15:42 ` Arjan van de Ven
2008-01-30 20:14 ` Ivan Kokshaysky
2008-01-31 5:51 ` Jesse Barnes
2008-01-11 19:54 ` Arjan van de Ven
2008-01-11 20:55 ` Greg KH
2008-01-15 12:58 ` Øyvind Vågen Jægtnes
[not found] <fa.m7tRTz/ymu3iMyLTO2aF1Tvaw24@ifi.uio.no>
[not found] ` <fa.XrRLIuL4juNAXXaMPF3iY8FyWW8@ifi.uio.no>
[not found] ` <fa.gv3MUHxQvd7EaG/0hhC9IzBvIlA@ifi.uio.no>
2007-12-27 17:59 ` Robert Hancock
2007-12-27 19:47 ` Arjan van de Ven
[not found] ` <fa.H0fcNl3b6xVBwzWUgT72M4K6KOU@ifi.uio.no>
2007-12-27 18:15 ` Robert Hancock
2007-12-27 18:30 ` Kai Ruhnau
2007-12-27 18:58 ` Linus Torvalds
2007-12-27 21:10 ` Loic Prylli
2007-12-27 21:21 ` Matthew Wilcox
2007-12-27 21:37 ` Linus Torvalds
2007-12-27 21:46 ` Linus Torvalds
2007-12-27 22:18 ` Kai Ruhnau
2007-12-28 4:27 ` Daniel Barkalow
2007-12-28 5:32 ` Linus Torvalds
2007-12-28 6:07 ` Daniel Barkalow
2007-12-28 10:34 ` Ivan Kokshaysky
2007-12-28 16:14 ` Arjan van de Ven
2007-12-28 16:38 ` Ivan Kokshaysky
2007-12-28 17:40 ` Loic Prylli
2007-12-28 21:12 ` Ivan Kokshaysky
2008-01-13 6:01 ` Matthew Wilcox
2008-01-13 7:19 ` Loic Prylli
2007-12-28 5:31 ` Benjamin Herrenschmidt
2007-12-27 21:59 ` Kai Ruhnau
2007-12-28 5:27 ` Benjamin Herrenschmidt
2007-12-28 5:29 ` Benjamin Herrenschmidt
2007-12-28 5:37 ` Linus Torvalds
2007-12-28 6:06 ` Benjamin Herrenschmidt
2007-12-28 19:14 ` Loic Prylli
2007-12-28 20:42 ` Benjamin Herrenschmidt
2007-12-28 0:18 ` Robert Hancock
[not found] <fa.2KorSXroIUtdRjFJWJwy49QuIYk@ifi.uio.no>
[not found] ` <fa.KgDY4hzBogAL+o607R+LHzW+HTc@ifi.uio.no>
[not found] ` <fa.xzH/eH5b6vCHpOD31Cq2nyq6z/k@ifi.uio.no>
[not found] ` <fa.EPUIDYIoxtDNcRrL9p3fAkr80Lo@ifi.uio.no>
[not found] ` <fa.uPoC9dcdekzy7g8QYFyuwelukiQ@ifi.uio.no>
[not found] ` <fa.O9WUKjAu+MfGg712w8Y4HkQ7GIo@ifi.uio.no>
2008-01-13 1:56 ` Robert Hancock
[not found] ` <fa.y9bLGEm23C6rL/wz7kMpKYF67oM@ifi.uio.no>
[not found] ` <fa.S+otiE5kNySVMlhUagdf/n9GRIc@ifi.uio.no>
[not found] ` <fa.OH5C/OjPYJXn8kSOHV/09piVz0E@ifi.uio.no>
[not found] ` <fa.jj0GkdAagaR3CLapBSdT1psD3Ps@ifi.uio.no>
[not found] ` <fa.EgRiN/duILxBcenHk7dQyC+rldw@ifi.uio.no>
2008-01-14 23:59 ` Robert Hancock
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=20071227060913.56173f74@laptopd505.fenrus.org \
--to=arjan@infradead.org \
--cc=benh@kernel.crashing.org \
--cc=gregkh@suse.de \
--cc=inux-pci@atrey.karlin.mff.cuni.cz \
--cc=jeff@garzik.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=mj@ucw.cz \
--cc=torvalds@linux-foundation.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
all inboxes | Powered by JetHome®