[clug] dd

Daniel Pittman daniel at rimspace.net
Sun Apr 11 22:40:54 MDT 2010

Robert Brockway <robert at timetraveller.org> writes:
> On Mon, 12 Apr 2010, Daniel Pittman wrote:
>> ...not generally for anyone, really, in my experience.
>>> I've had many cases where things like ethernet cards or disk controllers
>>> would be initialised in different orders each boot, I blame a race condition
>>> (whichever card was ready to respond to the PCI bus first got eth0), though
>>> it's entirely possible the kernel was written to deliberately do it in order
>>> to piss people like me off.
>> Linux PCI scanning and enumeration is synchronous, and always has
>> been. There have been occasional experimental patches over the years to make
>> it asynchronous, but none of 'em ever made it into the mainline kernel.
>> A few times — three, IIRC — since the 2.2 era the order of PCI enumeration has
>> reversed, which means that two different kernel versions would detect cards
>> in a different order.  You would have to boot two different kernels to see
>> that, though.
> Around 2003-2004 I definitely had a box which would flip the order of
> detection of the NICs on boot with the same kernel.  I could demonstrate this
> behaviour.  ie, if I booted it 5 or 6 times I would see the problem occur at
> least once.  Unfortunately I was using it as a firewall when I discovered this
> problem - the damn thing flipped the interfaces and suddenly the firewall was
> facing the wrong way.
> I've met other sysadmins who have also reported this problem under Linux. The
> problems seem to have melted away when iftab came in to common use - 
> but this would work around the problem rather than fix it.  Now we have udev
> of course.
>> So, I don't doubt your symptoms — unpredictable enumeration — exist, but your
> And yet I saw it, and could reproduce it.  Like another poster I put it down
> to a race condition.  Perhaps it was an obscure hardware bug or even faulty
> hardware.

I really don't know where this comes from: like I say, I believe that y'all
saw this happen, but it can't be a race condition in PCI enumeration or
whatever, because that isn't asynchronous...


✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons

More information about the linux mailing list