RFC: /proc/pci removal?
Hi,
I seem to vaguely remember that a while ago (2.3 days?) there was discussion about removing /proc/pci in favour of the lspci output, however there doesn't seem much in google groups about it (and marc seems useless with non-alphanumeric searches.)
Can anyone remember the consensus? I seem to remember it wasn't removed for 2.4 because certain distros rely on /proc/pci rather than using pciutils.
I'm asking this question for purely self-centered reasons; I'd personally rather get bug reports with the output of lspci -vv and lspci -vvb rather than /proc/pci. On machines where bus addresses != kernel cookies, lspci is more than invaluable.
(Ok, so we could "fix" the bug reporters to stop whinging about having to "port" lspci to their hardware, but that is a larger, harder problem to solve.)
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 6 lines · Russell King
Hi,
I seem to vaguely remember that a while ago (2.3 days?) there was discussion about removing
/proc/pciin favour of the lspci output, however there doesn't seem much in google groups about it (and marc seems useless with non-alphanumeric searches.)
scanpci from XFree is using it as well. However i would rather still like it to be gone despite this inconvenience.
Quoted 7 lines · Marcin Dalecki
Quoted 4 lines
I seem to vaguely remember that a while ago (2.3 days?) there was discussion about removing
/proc/pciin favour of the lspci output, however there doesn't seem much in google groups about it (and marc seems useless with non-alphanumeric searches.)scanpci from XFree is using it as well. However i would rather still like it to be gone despite this inconvenience.
neither gatos scanpci nor XFree86' scanpci do:
tv@vador ~ $ urpmf bin/scanpci
XFree86:/usr/X11R6/bin/scanpci
gatos:/usr/bin/scanpci
tv@vador ~ $ sudo strace /usr/X11R6/bin/scanpci 2>&1|fgrep open|uniq
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3open("/proc/bus/pci/devices", O_RDONLY) = 3
gatos scanpci directly access pci config space.
also lspci, libldetect (used by mandrake drakx, harddrake2, lspcidrake tools), kudzu uses /proc/bus/pci/* rather thatn /proc/pci as you can easily check with strace :
tv@vador ~ $ sudo strace lspcidrake 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3open("/proc/bus/pci/devices", O_RDONLY) = 3 open("/usr/share/ldetect-lst/pcitable", O_RDONLY) = 3 open("/proc/bus/usb/devices", O_RDONLY) = -1 ENOENT (No such file or directory)
tv@vador ~ $ sudo strace lspcidrake -f 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3open("/proc/bus/pci/devices", O_RDONLY) = 3 open("/proc/bus/pci/00/00.0", O_RDONLY) = 4 open("/proc/bus/pci/00/01.0", O_RDONLY) = 4 open("/proc/bus/pci/00/1e.0", O_RDONLY) = 4 open("/proc/bus/pci/00/1f.0", O_RDONLY) = 4 open("/proc/bus/pci/00/1f.1", O_RDONLY) = 4 open("/proc/bus/pci/00/1f.2", O_RDONLY) = 4 open("/proc/bus/pci/00/1f.3", O_RDONLY) = 4 open("/proc/bus/pci/00/1f.5", O_RDONLY) = 4 open("/proc/bus/pci/01/0c.0", O_RDONLY) = 4 open("/usr/share/ldetect-lst/pcitable", O_RDONLY) = 3 open("/proc/bus/usb/devices", O_RDONLY) = -1 ENOENT (No such file or directory)
tv@vador ~ $ sudo strace lspci 2>&1|fgrep open
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
open("/lib/i686/libc.so.6", O_RDONLY) = 3open("/proc/bus/pci/devices", O_RDONLY) = 3 open("/proc/bus/pci/01/0c.0", O_RDONLY) = 3 open("/proc/bus/pci/00/1f.5", O_RDONLY) = 3 open("/proc/bus/pci/00/1f.3", O_RDONLY) = 3 open("/proc/bus/pci/00/1f.2", O_RDONLY) = 3 open("/proc/bus/pci/00/1f.1", O_RDONLY) = 3 open("/proc/bus/pci/00/1f.0", O_RDONLY) = 3 open("/proc/bus/pci/00/1e.0", O_RDONLY) = 3 open("/proc/bus/pci/00/01.0", O_RDONLY) = 3 open("/proc/bus/pci/00/00.0", O_RDONLY) = 3open("/usr/share/pci.ids", O_RDONLY) = 4
(i wont put every output but i've straced and checked kudzu source in the past, have read harddrake1 source, 'm writting harrddrake2 and so i do know for those)
Quoted 8 lines · Thierry Vignaud
Quoted 5 lines · Marcin Dalecki
Quoted 4 lines
I seem to vaguely remember that a while ago (2.3 days?) there was discussion about removing
/proc/pciin favour of the lspci output, however there doesn't seem much in google groups about it (and marc seems useless with non-alphanumeric searches.)
Quoted 5 lines
Quoted 2 lines
scanpci from XFree is using it as well. However i would rather still like it to be gone despite this inconvenience.
neither gatos scanpci nor XFree86' scanpci do:
Confirmed. Apparently I forgot about the /bus/ in the path above.
Quoted 6 lines · Russell King
I seem to vaguely remember that a while ago (2.3 days?) there was discussion about removing
/proc/pciin favour of the lspci output, however there doesn't seem much in google groups about it (and marc seems useless with non-alphanumeric searches.)Can anyone remember the consensus?
ISTR Linus was quite attached to it, so it got un-obsoleted.
Dave
Signature · 2 lines
| Dave Jones. http://www.codemonkey.org.uk | SuSE Labs
Hello, world!\n
Quoted 1 line
ISTR Linus was quite attached to it, so it got un-obsoleted.
Exactly. I've marked it as obsolete years ago, but when I wanted to rip it out, Linus said he likes /proc/pci and it has to stay.
I still think that it's an extremely ugly interface, especially because it requires the kernel to contain the list of vendor and device names.
Have a nice fortnight
Signature · 3 lines
Martin `MJ' Mares <[email protected]> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth Who is General Failure and why is he reading my disk?
Quoted 10 lines · Martin Mares
Hello, world!\n
Quoted 1 line
ISTR Linus was quite attached to it, so it got un-obsoleted.
Exactly. I've marked it as obsolete years ago, but when I wanted to rip it out, Linus said he likes
/proc/pciand it has to stay.I still think that it's an extremely ugly interface, especially because it requires the kernel to contain the list of vendor and device names.
If for no other reason than allowing easy updates, this would be a good place for a module. Of course you can say that about the blacklisted chipsets, etc, as well.
I guess if it's a favorite feature it stays. I do use it, but there are other tools as mentioned.
Signature · 3 lines
bill davidsen <[email protected]> CTO, TMR Associates, Inc Doing interesting things with little computers since 1979.