Re: [RFC PATCH] PCI: remove initial bios sort of PCI devices on x86



On Wed, Feb 13, 2008 at 03:40:29PM -0800, Greg KH wrote:
We currently keep 2 lists of PCI devices in the system, one in the
driver core, and one all on its own. This second list is sorted at boot
time, in "BIOS" order, to try to remain compatible with older kernels
(2.2 and earlier days). There was also a "nosort" option to turn this
sorting off, to remain compatible with even older kernel versions, but
that just ends up being what we have been doing from 2.5 days...

Unfortunately, the second list of devices is not really ever used to
determine the probing order of PCI devices or drivers[1]. That is done
using the driver core list instead. This change happened back in the
early 2.5 days.

Relying on BIOS ording for the binding of drivers to specific device
names is problematic for many reasons, and userspace tools like udev
exist to properly name devices in a persistant manner if that is needed,
no reliance on the BIOS is needed.

Matt Domsch and others at Dell noticed this back in 2006, and added a
boot option to sort the PCI device lists (both of them) in a
breadth-first manner to help remain compatible with the 2.4 order, if
needed for any reason. This option is not going away, as some systems
rely on them.

This patch removes the sorting of the internal PCI device list in "BIOS"
mode, as it's not needed at all anymore, and hasn't for many years.
I've also removed the PCI flags for this from some other arches that for
some reason defined them, but never used them.

This should not change the ordering of any drivers or device probing.


Good plan. I'll be glad when the vestigal internal PCI device list is
gone too.

Thanks,
Matt

--
Matt Domsch
Linux Technology Strategist, Dell Office of the CTO
linux.dell.com & www.dell.com/linux
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: [SLE] Gigabit ethernet on Intel D945GNTLKR mobo
    ... This the first I've seen a hardware topic collision on separate lists. ... >>I always thought a partition had to be made bootable in order to be able ... You'd also note that on any Linux ... There are so many useful things that only the BIOS can do ...
    (SuSE)
  • Award Bios, ACPI, Mouse and PR 55473???
    ... I have been trying to post to different lists looking for a ... Light" mother board which has this award bios. ... by FreeBsd or the manufacture of the mother board? ...
    (freebsd-current)
  • RE: Award Bios, ACPI, Mouse and PR 55473???
    ... > I have been trying to post to different lists looking for a ... > Light" mother board which has this award bios. ... > by FreeBsd or the manufacture of the mother board? ...
    (freebsd-current)
  • [PATCH] Driver core: Fix up the driver and device iterators to be quieter
    ... Driver core: Fix up the driver and device iterators to be quieter ... Also stops looping over the lists when a match is found. ... commit b86c1df1f98d16c999423a3907eb40a9423f481e ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: Side note on Shuttle XPC / AMD X2 (SN95G5V3) (Re: [PATCH] nve(4) locking cleanup)
    ... > FreeBSD distributions are SMP by default now, ... > otherwise seems to be less confused then Shuttle's BIOS. ... > on the ASUS lists 6 pure PCI busses while the one on the Shuttle ... -Current's GENERIC has SMP enabled by default (and the nve driver) so I ...
    (freebsd-current)